/* 全局样式 - 深色主题 */
:root {
  --color-bg: #0a0a0a;
  --color-bg-2: #0f0f0f;
  --color-bg-soft: #111111;
  --color-surface: #141414;
  --color-surface-2: #1a1a1a;
  --color-surface-3: #1f1f1f;
  --color-surface-4: #2a2a2a;
  --color-surface-5: #1e1e1e;
  --color-panel: #1f2028;
  --color-border: #2a2a2a;
  --color-border-strong: #3a3a3a;
  --color-border-muted: #404040;
  --color-text: rgba(255, 255, 255, 0.85);
  --color-text-muted: rgba(255, 255, 255, 0.65);
  --color-text-dim: rgba(255, 255, 255, 0.45);
  --color-primary: #6366f1;
  --color-primary-accent: #8b5cf6;
  --color-primary-deep: #764ba2;
  --color-primary-tint: #a78bfa;
  --color-primary-rgb: 99, 102, 241;
  --color-primary-accent-rgb: 139, 92, 246;
  --color-primary-deep-rgb: 118, 75, 162;
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-info: #3b82f6;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
  background: var(--color-bg);
  color: var(--color-text);
}

#root {
  height: 100vh;
  overflow: hidden;
  background: var(--color-bg);
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

/* 自定义滚动条 - 默认样式 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* 深色背景滚动条 */
.dark-scrollbar::-webkit-scrollbar {
  width: 6px;
}

.dark-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.dark-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

.dark-scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Ant Design 自定义样式 */
.ant-layout {
  min-height: auto;
}

.ant-layout-sider {
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.05);
}

.ant-menu-item a {
  color: inherit;
}

.ant-menu-item-selected a {
  color: inherit;
}

/* 卡片阴影效果 */
.ant-card {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 6px rgba(0, 0, 0, 0.02);
  transition: box-shadow 0.3s ease;
}

.ant-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* 视频hover效果 */
.video-overlay {
  transition: opacity 0.2s ease;
}

.ant-card:hover .video-overlay {
  opacity: 1 !important;
}

/* Loading状态 */
.ant-spin-nested-loading {
  min-height: 200px;
}

/* 深色表格样式 */
.dark-table .ant-table {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.dark-table .ant-table-thead > tr > th {
  background: var(--color-surface-2) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border-bottom: 1px solid var(--color-border-strong) !important;
  font-weight: 600;
}

.dark-table .ant-table-tbody > tr > td {
  border-bottom: 1px solid var(--color-surface-4) !important;
  background: var(--color-bg) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.dark-table .ant-table-tbody > tr:hover > td {
  background: var(--color-surface-2) !important;
}

.dark-table .ant-table-tbody > tr.ant-table-row-selected > td {
  background: rgba(var(--color-primary-rgb), 0.1) !important;
}

/* 表格内文字颜色 */
.dark-table .ant-table-cell {
  color: rgba(255, 255, 255, 0.85) !important;
}

.dark-table .ant-typography {
  color: rgba(255, 255, 255, 0.85) !important;
}

.dark-table .ant-space {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 分页器样式 */
.dark-table .ant-pagination {
  color: rgba(255, 255, 255, 0.65) !important;
}

.dark-table .ant-pagination-item {
  background: var(--color-surface-2) !important;
  border: 1px solid var(--color-border-strong) !important;
}

.dark-table .ant-pagination-item a {
  color: rgba(255, 255, 255, 0.85) !important;
}

.dark-table .ant-pagination-item-active {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.dark-table .ant-pagination-item-active a {
  color: #fff !important;
}

.dark-table .ant-pagination-prev .ant-pagination-item-link,
.dark-table .ant-pagination-next .ant-pagination-item-link {
  background: var(--color-surface-2) !important;
  border: 1px solid var(--color-border-strong) !important;
  color: rgba(255, 255, 255, 0.65) !important;
}

.dark-table .ant-pagination-disabled .ant-pagination-item-link {
  color: rgba(255, 255, 255, 0.25) !important;
}

.dark-table .ant-pagination-options {
  color: rgba(255, 255, 255, 0.65) !important;
}

.dark-table .ant-select-selector {
  background: var(--color-surface-2) !important;
  border: 1px solid var(--color-border-strong) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.dark-table .ant-select-arrow {
  color: rgba(255, 255, 255, 0.45) !important;
}

.dark-table .ant-select-selection-item {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 筛选器样式 */
.dark-table .ant-table-filter-trigger {
  color: rgba(255, 255, 255, 0.45) !important;
}

.dark-table .ant-table-filter-trigger:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

.dark-table .ant-table-filter-trigger-container-open {
  background: var(--color-surface-2) !important;
}

/* 排序图标 */
.dark-table .ant-table-column-sorter {
  color: rgba(255, 255, 255, 0.45) !important;
}

.dark-table .ant-table-column-sorter-up.active,
.dark-table .ant-table-column-sorter-down.active {
  color: var(--color-primary) !important;
}

/* 空状态 */
.dark-table .ant-empty-description {
  color: rgba(255, 255, 255, 0.45) !important;
}

.dark-table .ant-empty-image svg {
  fill: rgba(255, 255, 255, 0.25) !important;
}

/* 深色标签页样式 */
.ant-tabs {
  color: rgba(255, 255, 255, 0.85);
}

.ant-tabs .ant-tabs-tab {
  color: rgba(255, 255, 255, 0.65);
  background: transparent;
  border: none;
}

.ant-tabs .ant-tabs-tab:hover {
  color: rgba(255, 255, 255, 0.85);
}

.ant-tabs .ant-tabs-tab.ant-tabs-tab-active {
  background: var(--color-primary);
  color: #fff;
  border-radius: 8px 8px 0 0;
}

.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: #fff;
}

.ant-tabs .ant-tabs-ink-bar {
  background: var(--color-primary);
}

.ant-tabs .ant-tabs-nav {
  margin-bottom: 0;
}

.ant-tabs .ant-tabs-nav::before {
  border-bottom: 1px solid #2a2a3e;
}

/* 深色Modal样式 */
.ant-modal-mask {
  background: rgba(0, 0, 0, 0.75) !important;
}

.ant-modal-content {
  background: var(--color-surface-3) !important;
  border: 1px solid var(--color-surface-4) !important;
}

.ant-modal-header {
  background: var(--color-surface-3) !important;
  border-bottom: 1px solid var(--color-surface-4) !important;
}

.ant-modal-title {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-modal-body {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-modal-footer {
  background: var(--color-surface-3) !important;
  border-top: 1px solid var(--color-surface-4) !important;
}

.ant-modal .ant-modal-close {
  color: rgba(255, 255, 255, 0.65) !important;
}

.ant-modal .ant-modal-close:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 深色 Confirm 弹窗增强对比度 */
.ant-modal-confirm .ant-modal-confirm-title {
  color: #fff !important;
}

.ant-modal-confirm .ant-modal-confirm-content {
  color: rgba(255, 255, 255, 0.7) !important;
}

.ant-modal-confirm .ant-modal-confirm-body .anticon {
  color: var(--color-warning) !important;
}

.ant-modal-confirm .ant-btn-default {
  background: #2b2b2b !important;
  border-color: #3a3a3a !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

.ant-modal-confirm .ant-btn-default:hover {
  background: #383838 !important;
  border-color: #4a4a4a !important;
}

.ant-modal-confirm .ant-btn-dangerous,
.ant-modal-confirm .ant-btn-dangerous.ant-btn-primary {
  background: var(--color-danger) !important;
  border-color: var(--color-danger) !important;
  color: #fff !important;
}

.ant-modal-confirm .ant-btn-dangerous:hover,
.ant-modal-confirm .ant-btn-dangerous.ant-btn-primary:hover {
  background: #ff6b6d !important;
  border-color: #ff6b6d !important;
}

/* 深色Input和TextArea样式 */
.ant-input[style*="background: #1a1a2e"],
.ant-input-textarea[style*="background: #1a1a2e"] textarea {
  color: #fff !important;
}

.ant-input[style*="background: #1a1a2e"]::placeholder,
.ant-input-textarea[style*="background: #1a1a2e"] textarea::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-input[style*="background: #1a1a2e"]:focus,
.ant-input-textarea[style*="background: #1a1a2e"] textarea:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.2) !important;
}

/* 深色上传组件样式 */
.ant-upload-drag[style*="background: #1a1a2e"] {
  background: #1a1a2e !important;
}

.ant-upload-drag[style*="background: #1a1a2e"]:hover {
  border-color: var(--color-primary) !important;
}

.ant-upload-drag-icon {
  margin-bottom: 16px !important;
}

.ant-upload.ant-upload-drag p.ant-upload-text {
  color: #fff !important;
  margin-bottom: 4px !important;
}

.ant-upload.ant-upload-drag p.ant-upload-hint {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* 深色按钮悬停效果 */
.ant-btn[style*="background: transparent"]:hover {
  background: rgba(var(--color-primary-rgb), 0.1) !important;
  border-color: var(--color-primary) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-btn[style*="background: var(--color-primary)"]:hover {
  background: #7b8ff5 !important;
  border-color: #7b8ff5 !important;
  box-shadow: 0 4px 12px rgba(var(--color-primary-rgb), 0.4) !important;
}

/* 深色Checkbox样式 */
.ant-checkbox-wrapper {
  color: rgba(255, 255, 255, 0.85);
}

.ant-checkbox-inner {
  background-color: var(--color-surface-4) !important;
  border-color: var(--color-border-strong) !important;
}

.ant-checkbox-checked .ant-checkbox-inner {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.ant-checkbox-wrapper:hover .ant-checkbox-inner {
  border-color: var(--color-primary) !important;
}

/* Swiper 自定义样式 */
.swiper {
  width: 100% !important;
  height: 100% !important;
}

.swiper-slide {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.swiper-slide section {
  width: 100% !important;
}

/* 隐藏默认分页器 */
.swiper-pagination {
  display: none !important;
}

/* Swiper 滚动条优化 */
.swiper-wrapper {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* 深色折叠面板样式 */
.ant-collapse {
  background: transparent !important;
  border: none !important;
}

.ant-collapse > .ant-collapse-item {
  border-bottom: none !important;
}

.ant-collapse-header {
  color: white !important;
  padding: 16px 24px !important;
}

.ant-collapse-content {
  background: transparent !important;
  border-top: none !important;
}

.ant-collapse-content-box {
  padding: 16px 24px !important;
}

.ant-collapse-arrow {
  color: white !important;
}

/* 首页最后一页滚动条样式 */
.swiper-slide section::-webkit-scrollbar {
  width: 6px;
}

.swiper-slide section::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}

.swiper-slide section::-webkit-scrollbar-thumb {
  background: rgba(var(--color-primary-rgb), 0.5);
  border-radius: 3px;
}

.swiper-slide section::-webkit-scrollbar-thumb:hover {
  background: rgba(var(--color-primary-rgb), 0.7);
}

/* 视频卡片hover效果 */
.play-overlay {
  opacity: 0;
  transition: opacity 0.3s;
}

.ant-card:hover .play-overlay {
  opacity: 1 !important;
}

/* 自定义Tab按钮hover效果 */
.custom-tab-button {
  padding: 12px 32px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  user-select: none;
}

.custom-tab-button:hover {
  background: rgba(var(--color-primary-rgb), 0.2) !important;
  transform: translateY(-2px);
}

.custom-tab-button.active {
  background: var(--color-primary) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(var(--color-primary-rgb), 0.4);
}

.custom-tab-button.inactive {
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  font-weight: 400;
}

.custom-tab-button.inactive:hover {
  color: rgba(255, 255, 255, 0.85);
}

/* 产品Tab按钮样式（浅色主题） */
.product-tab-button {
  padding: 10px 24px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  user-select: none;
}

.product-tab-button:hover {
  background: rgba(var(--color-primary-rgb), 0.1) !important;
  transform: translateY(-2px);
}

.product-tab-button.active {
  background: var(--color-primary) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(var(--color-primary-rgb), 0.4);
}

.product-tab-button.inactive {
  background: transparent;
  color: rgba(0, 0, 0, 0.65);
  font-weight: 400;
}

.product-tab-button.inactive:hover {
  color: rgba(0, 0, 0, 0.85);
}

/* 矩阵发布页面深色主题 */
.ant-card-body::-webkit-scrollbar {
  width: 6px;
}

.ant-card-body::-webkit-scrollbar-track {
  background: rgba(42, 42, 42, 0.3);
  border-radius: 3px;
}

.ant-card-body::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

.ant-card-body::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* 深色Input样式 */
.ant-input[style*="background: var(--color-bg-2)"],
.ant-input[type="datetime-local"][style*="background: var(--color-bg-2)"] {
  color: rgba(255, 255, 255, 0.85) !important;
  color-scheme: dark;
}

.ant-input[style*="background: var(--color-bg-2)"]::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-input[style*="background: var(--color-bg-2)"]:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.2) !important;
}

/* 深色Spin加载样式 */
.ant-spin-dot-item {
  background-color: var(--color-primary) !important;
}

/* ============= 全局深色主题样式 ============= */

/* 深色Card样式 */
.ant-card {
  background: var(--color-surface) !important;
  border-color: var(--color-surface-4) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-card-head {
  background: var(--color-surface) !important;
  border-bottom-color: var(--color-surface-4) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-card-head-title {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-card-bordered {
  border: 1px solid var(--color-surface-4) !important;
}

/* 深色Typography样式 */
.ant-typography {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-typography-secondary {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* 深色Dropdown和Menu样式 */
.ant-dropdown {
  background: var(--color-surface-3) !important;
}

.ant-dropdown-menu {
  background: var(--color-surface-3) !important;
  border: 1px solid var(--color-surface-4) !important;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2) !important;
}

.ant-dropdown-menu-item,
.ant-dropdown-menu-submenu-title {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-dropdown-menu-item:hover,
.ant-dropdown-menu-submenu-title:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

.ant-dropdown-menu-item-divider {
  background: var(--color-surface-4) !important;
}

.ant-dropdown-menu-title-content a {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 深色Select样式 */
.ant-select-dropdown {
  background: var(--color-surface-3) !important;
  border: 1px solid var(--color-surface-4) !important;
}

.ant-select-item {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-select-item-option-selected {
  background: rgba(var(--color-primary-rgb), 0.2) !important;
}

.ant-select-item-option:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

/* 深色Cascader样式（省/市级联选择） */
.ant-cascader-dropdown {
  background: var(--color-surface-3) !important;
  border: 1px solid var(--color-surface-4) !important;
}

.ant-cascader-menu {
  background: transparent !important;
  border-right: 1px solid var(--color-surface-4) !important;
}

.ant-cascader-menu:last-child {
  border-right: none !important;
}

.ant-cascader-menu-item {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-cascader-menu-item-content {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-cascader-menu-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),
.ant-cascader-menu-item-active:hover:not(.ant-cascader-menu-item-disabled) {
  background: rgba(var(--color-primary-rgb), 0.2) !important;
}

.ant-cascader-menu-item-disabled {
  color: rgba(255, 255, 255, 0.25) !important;
}

.ant-cascader-menu-item-expand-icon,
.ant-cascader-menu-item-loading-icon {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* 深色DatePicker样式 */
.ant-picker-dropdown {
  background: var(--color-surface-3) !important;
}

.ant-picker-panel-container {
  background: var(--color-surface-3) !important;
  border: 1px solid var(--color-surface-4) !important;
}

.ant-picker-header,
.ant-picker-content th,
.ant-picker-cell {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-picker-cell:hover .ant-picker-cell-inner {
  background: rgba(255, 255, 255, 0.08) !important;
}

.ant-picker-cell-selected .ant-picker-cell-inner {
  background: var(--color-primary) !important;
}

.ant-picker-time-panel {
  background: var(--color-surface-3) !important;
}

.ant-picker-time-panel-column {
  background: var(--color-surface-3) !important;
}

.ant-picker-time-panel-column > li .ant-picker-time-panel-cell-inner {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-picker-time-panel-cell:hover .ant-picker-time-panel-cell-inner {
  background: rgba(255, 255, 255, 0.08) !important;
}

.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
  background: rgba(var(--color-primary-rgb), 0.2) !important;
  color: #fff !important;
}

.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-picker-footer {
  border-top: 1px solid var(--color-surface-4) !important;
  background: var(--color-surface-3) !important;
}

.ant-picker-ok .ant-btn {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

/* 深色Badge样式 */
.ant-badge-count {
  background: #ff4d4f !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px var(--color-surface) !important;
}

/* 深色Button样式优化 */
.ant-btn-default {
  background: transparent !important;
  border-color: var(--color-surface-4) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-btn-default:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--color-primary) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 深色Tag样式 */
.ant-tag {
  border-color: var(--color-surface-4) !important;
}

/* 深色Divider样式 */
.ant-divider {
  border-color: var(--color-surface-4) !important;
}

/* 深色Statistic样式 */
.ant-statistic-title {
  color: rgba(255, 255, 255, 0.65) !important;
}

.ant-statistic-content {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 深色Alert样式 */
.ant-alert {
  background: rgba(var(--color-primary-rgb), 0.1) !important;
  border: 1px solid rgba(var(--color-primary-rgb), 0.3) !important;
}

.ant-alert-message {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-alert-description {
  color: rgba(255, 255, 255, 0.65) !important;
}

.ant-alert-info {
  background: rgba(var(--color-primary-rgb), 0.1) !important;
  border-color: rgba(var(--color-primary-rgb), 0.3) !important;
}

.ant-alert-warning {
  background: rgba(250, 173, 20, 0.1) !important;
  border-color: rgba(250, 173, 20, 0.3) !important;
}

.ant-alert-success {
  background: rgba(82, 196, 26, 0.1) !important;
  border-color: rgba(82, 196, 26, 0.3) !important;
}

.ant-alert-error {
  background: rgba(255, 77, 79, 0.1) !important;
  border-color: rgba(255, 77, 79, 0.3) !important;
}

/* 深色Empty样式 */
.ant-empty-description {
  color: rgba(255, 255, 255, 0.45) !important;
}

.ant-empty-img-simple-path {
  fill: rgba(255, 255, 255, 0.2) !important;
}

/* 深色Form样式 */
.ant-form-item-label > label {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-form-item-explain-error {
  color: #ff4d4f !important;
}

/* 深色Image样式 */
.ant-image-preview-wrap {
  background: rgba(0, 0, 0, 0.85) !important;
}

.ant-image-preview-operations {
  background: rgba(0, 0, 0, 0.1) !important;
}

/* 深色Tooltip样式 */
.ant-tooltip-inner {
  background: rgba(0, 0, 0, 0.85) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-tooltip-arrow-content {
  background: rgba(0, 0, 0, 0.85) !important;
}

/* 深色Popover样式 */
.ant-popover-inner {
  background: var(--color-surface-3) !important;
  border: 1px solid var(--color-surface-4) !important;
}

.ant-popover-title {
  color: rgba(255, 255, 255, 0.85) !important;
  border-bottom-color: var(--color-surface-4) !important;
}

.ant-popover-inner-content {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 日志筛选行换行 */
.log-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

/* 日志详情抽屉深色样式 */
.admin-logs-drawer .ant-drawer-title {
  color: rgba(255, 255, 255, 0.9) !important;
}

.admin-logs-drawer .ant-drawer-close {
  color: rgba(255, 255, 255, 0.7) !important;
}

.admin-logs-drawer .ant-descriptions-item-label {
  color: rgba(255, 255, 255, 0.55) !important;
}

.admin-logs-drawer .ant-descriptions-item-content {
  color: rgba(255, 255, 255, 0.85) !important;
}

.admin-logs-drawer .ant-divider {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.admin-logs-drawer .ant-btn-link {
  color: rgba(var(--color-primary-rgb), 0.95) !important;
}

.admin-logs-drawer .ant-btn-link[disabled] {
  color: rgba(255, 255, 255, 0.35) !important;
}

/* 深色Progress样式 */
.ant-progress-text {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 深色Steps样式 */
.ant-steps-item-title {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-steps-item-description {
  color: rgba(255, 255, 255, 0.65) !important;
}

.ant-steps-item-wait .ant-steps-item-icon {
  background: var(--color-surface) !important;
  border-color: var(--color-surface-4) !important;
}

.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* 深色Input全局样式 */
.ant-input,
.ant-input-affix-wrapper,
.ant-input-number,
.ant-picker {
  background: var(--color-surface) !important;
  border-color: var(--color-surface-4) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-picker .ant-picker-input > input {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-picker .ant-picker-input > input::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-picker .ant-picker-range-separator,
.ant-picker .ant-picker-suffix,
.ant-picker .ant-picker-clear {
  color: rgba(255, 255, 255, 0.45) !important;
}

.ant-input::placeholder,
.ant-input-affix-wrapper input::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-input:hover,
.ant-input-affix-wrapper:hover,
.ant-input-number:hover,
.ant-picker:hover {
  border-color: var(--color-primary) !important;
}

.ant-input:focus,
.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper-focused,
.ant-input-number:focus,
.ant-picker:focus,
.ant-picker-focused {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.2) !important;
}

.ant-input-prefix,
.ant-input-suffix {
  color: rgba(255, 255, 255, 0.45) !important;
}

.ant-input-number-input {
  color: var(--color-text) !important;
  background: transparent !important;
}

.ant-input-number-input::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-input-number-disabled {
  background: var(--color-surface-3) !important;
  border-color: var(--color-surface-4) !important;
}

.ant-input-number-disabled .ant-input-number-input {
  color: var(--color-text-dim) !important;
}

/* 深色TextArea样式 */
.ant-input-textarea {
  background: var(--color-surface) !important;
  border-color: var(--color-surface-4) !important;
}

.ant-input-textarea textarea {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-input-textarea textarea::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-input-textarea:hover {
  border-color: var(--color-primary) !important;
}

.ant-input-textarea-focused {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.2) !important;
}

.ant-input-textarea-show-count::after {
  color: rgba(255, 255, 255, 0.45) !important;
}

/* 深色Select全局样式 */
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  background: var(--color-surface) !important;
  border-color: var(--color-surface-4) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-select-arrow,
.ant-select-clear {
  color: rgba(255, 255, 255, 0.45) !important;
}

.ant-select:hover .ant-select-selector {
  border-color: var(--color-primary) !important;
}

.ant-select-focused .ant-select-selector {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.2) !important;
}

.ant-select-selection-placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.ant-select-selection-item {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-select-selection-search-input {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 深色Switch样式 */
.ant-switch {
  background: rgba(255, 255, 255, 0.25) !important;
}

.ant-switch-checked {
  background: var(--color-primary) !important;
}

.ant-switch:focus,
.ant-switch:focus-visible {
  box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.2) !important;
}

/* 深色Radio样式 */
.ant-radio-wrapper {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-radio-inner {
  background: var(--color-surface) !important;
  border-color: var(--color-surface-4) !important;
}

.ant-radio-checked .ant-radio-inner {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.ant-radio:hover .ant-radio-inner {
  border-color: var(--color-primary) !important;
}

/* 深色Slider样式 */
.ant-slider-rail {
  background: var(--color-surface-4) !important;
}

.ant-slider-track {
  background: var(--color-primary) !important;
}

.ant-slider-handle {
  border-color: var(--color-primary) !important;
  background: #fff !important;
}

/* 深色Upload样式 */
.ant-upload.ant-upload-drag {
  background: var(--color-surface) !important;
  border-color: var(--color-surface-4) !important;
}

.ant-upload.ant-upload-drag:hover {
  border-color: var(--color-primary) !important;
}

.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon {
  color: var(--color-primary) !important;
}

.ant-upload.ant-upload-drag p.ant-upload-text {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-upload.ant-upload-drag p.ant-upload-hint {
  color: rgba(255, 255, 255, 0.45) !important;
}

.ant-upload-list-item {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-surface-4) !important;
}

.ant-upload-list-item-name {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-upload-list-item:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

/* ============= 侧边栏导航菜单对齐样式 ============= */

/* 侧边栏菜单整体样式 */
.ant-layout-sider .ant-menu {
  padding: 0 12px !important;
}

/* 一级菜单项（如首页）样式 */
.ant-layout-sider .ant-menu > .ant-menu-item {
  margin: 4px 0 !important;
  padding-left: 16px !important;
  border-radius: 8px !important;
  height: 44px !important;
  line-height: 44px !important;
}

/* 菜单分组标题样式 */
.ant-layout-sider .ant-menu-item-group-title {
  padding-left: 16px !important;
  padding-right: 16px !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.45) !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  margin-top: 16px !important;
  margin-bottom: 4px !important;
}

/* 分组内的子菜单项样式 */
.ant-layout-sider .ant-menu-item-group-list .ant-menu-item {
  margin: 2px 0 !important;
  padding-left: 16px !important;
  border-radius: 8px !important;
  height: 44px !important;
  line-height: 44px !important;
}

/* 菜单项图标样式 */
.ant-layout-sider .ant-menu-item .anticon {
  font-size: 16px !important;
  margin-right: 12px !important;
  width: 20px !important;
  text-align: center !important;
}

/* 选中状态的菜单项 */
.ant-layout-sider .ant-menu-item-selected {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-deep) 100%) !important;
}

.ant-layout-sider .ant-menu-item-selected::after {
  display: none !important;
}

/* 菜单项悬停效果 */
.ant-layout-sider .ant-menu-item:not(.ant-menu-item-selected):hover {
  background: rgba(var(--color-primary-rgb), 0.15) !important;
}

/* 菜单项文字颜色 */
.ant-layout-sider .ant-menu-item {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ant-layout-sider .ant-menu-item a {
  color: inherit !important;
}

/* 分组展开/收起图标对齐 */
.ant-layout-sider .ant-menu-item-group {
  margin-bottom: 8px !important;
}

/* ============= Payment Pages (Gateway / Success) ============= */

.payment-page {
  min-height: calc(100vh - 64px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  background:
    radial-gradient(900px circle at 50% 15%, rgba(var(--color-primary-rgb), 0.22) 0%, transparent 60%),
    radial-gradient(700px circle at 85% 80%, rgba(var(--color-primary-accent-rgb), 0.18) 0%, transparent 55%),
    linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-soft) 100%);
}

.payment-panel.ant-card {
  width: 100%;
  max-width: 720px;
  background: rgba(20, 20, 20, 0.78) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(12px);
}

.payment-panel > .ant-card-body {
  padding: 34px 32px !important;
}

.payment-section {
  padding: 16px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
}

.payment-success-badge,
.payment-warning-badge {
  width: 76px;
  height: 76px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.payment-success-badge {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  box-shadow: 0 0 0 8px rgba(34, 197, 94, 0.07), 0 18px 55px rgba(0, 0, 0, 0.55);
}

.payment-warning-badge {
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 0 0 8px rgba(245, 158, 11, 0.07), 0 18px 55px rgba(0, 0, 0, 0.55);
}

.payment-benefit-tag.ant-tag {
  margin-inline-end: 0 !important;
  border-radius: 999px !important;
  padding: 3px 10px !important;
  background: rgba(var(--color-primary-accent-rgb), 0.14) !important;
  border: 1px solid rgba(var(--color-primary-accent-rgb), 0.35) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.payment-primary-btn.ant-btn-primary {
  height: 44px !important;
  padding-inline: 18px !important;
  border-radius: 12px !important;
  border: none !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-accent)) !important;
  box-shadow: 0 10px 30px rgba(var(--color-primary-accent-rgb), 0.22);
}

.payment-primary-btn.ant-btn-primary:hover {
  filter: brightness(1.05);
}

.payment-secondary-btn.ant-btn-default {
  height: 44px !important;
  padding-inline: 18px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.payment-secondary-btn.ant-btn-default:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(var(--color-primary-accent-rgb), 0.55) !important;
}

.payment-qr-wrap {
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

@media (max-width: 480px) {
  .payment-page {
    padding: 32px 16px;
  }

  .payment-panel > .ant-card-body {
    padding: 26px 20px !important;
  }

  .payment-success-badge,
  .payment-warning-badge {
    width: 68px;
    height: 68px;
  }
}
