/* ============================================
   LightPicture 暗夜模式样式
   作者：AI Assistant
   日期：2026-05-26
   ============================================ */

/* 暗夜模式根样式 */
body.dark-mode {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

/* 主容器 */
body.dark-mode #app {
    background-color: #1a1a1a !important;
}

/* 卡片和面板 */
body.dark-mode .ivu-card,
body.dark-mode .ivu-modal,
body.dark-mode .ivu-drawer,
body.dark-mode .ivu-poptip-popper,
body.dark-mode .ivu-select-dropdown,
body.dark-mode .ivu-dropdown-menu {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

/* 表格 */
body.dark-mode .ivu-table {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-table th {
    background-color: #363636 !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-table td {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-table-stripe .ivu-table-body tr:nth-child(2n) td {
    background-color: #333333 !important;
}

body.dark-mode .ivu-table tr:hover td {
    background-color: #3a3a3a !important;
}

/* 输入框 */
body.dark-mode .ivu-input,
body.dark-mode .ivu-input-number,
body.dark-mode .ivu-select-selection,
body.dark-mode .ivu-textarea {
    background-color: #363636 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-input:focus,
body.dark-mode .ivu-textarea:focus {
    border-color: #5cadff !important;
}

body.dark-mode .ivu-input::placeholder,
body.dark-mode .ivu-textarea::placeholder {
    color: #888888 !important;
}

/* 按钮 */
body.dark-mode .ivu-btn-default {
    background-color: #363636 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-btn-default:hover {
    background-color: #404040 !important;
    border-color: #5a5a5a !important;
}

body.dark-mode .ivu-btn-primary {
    background-color: #2d8cf0 !important;
    border-color: #2d8cf0 !important;
}

body.dark-mode .ivu-btn-primary:hover {
    background-color: #5cadff !important;
    border-color: #5cadff !important;
}

/* 菜单 */
body.dark-mode .ivu-menu {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-menu-item {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-menu-item:hover {
    background-color: #363636 !important;
}

body.dark-mode .ivu-menu-item-active,
body.dark-mode .ivu-menu-item-selected {
    background-color: #2d8cf0 !important;
    color: #ffffff !important;
}

/* 侧边栏 */
body.dark-mode .ivu-layout-sider {
    background-color: #252525 !important;
}

body.dark-mode .ivu-layout-header {
    background-color: #2d2d2d !important;
    border-bottom: 1px solid #404040 !important;
}

body.dark-mode .ivu-layout-content {
    background-color: #1a1a1a !important;
}

/* 分页 */
body.dark-mode .ivu-page {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-page-item {
    background-color: #363636 !important;
    border-color: #4a4a4a !important;
}

body.dark-mode .ivu-page-item:hover {
    background-color: #404040 !important;
}

body.dark-mode .ivu-page-item-active {
    background-color: #2d8cf0 !important;
    border-color: #2d8cf0 !important;
}

/* 标签 */
body.dark-mode .ivu-tag {
    background-color: #363636 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}

/* 提示框 */
body.dark-mode .ivu-message {
    background-color: #2d2d2d !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .ivu-message-notice-content {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

/* 开关按钮 */
body.dark-mode .ivu-switch {
    background-color: #4a4a4a !important;
}

body.dark-mode .ivu-switch-checked {
    background-color: #2d8cf0 !important;
}

/* 进度条 */
body.dark-mode .ivu-progress-bg {
    background-color: #2d8cf0 !important;
}

/* 图片预览 */
body.dark-mode .ivu-modal-mask {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* 表单 */
body.dark-mode .ivu-form-item-label {
    color: #e0e0e0 !important;
}

/* 分割线 */
body.dark-mode .ivu-divider {
    background-color: #404040 !important;
}

/* 面包屑 */
body.dark-mode .ivu-breadcrumb a {
    color: #5cadff !important;
}

/* 下拉菜单 */
body.dark-mode .ivu-dropdown-item {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-dropdown-item:hover {
    background-color: #363636 !important;
}

/* 选择器选项 */
body.dark-mode .ivu-select-item {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-select-item:hover {
    background-color: #363636 !important;
}

body.dark-mode .ivu-select-item-selected {
    background-color: #2d8cf0 !important;
    color: #ffffff !important;
}

/* 日期选择器 */
body.dark-mode .ivu-date-picker-cells-cell {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-date-picker-cells-cell:hover {
    background-color: #363636 !important;
}

/* 时间选择器 */
body.dark-mode .ivu-time-picker-cells-cell {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-time-picker-cells-cell:hover {
    background-color: #363636 !important;
}

/* 上传组件 */
body.dark-mode .ivu-upload {
    background-color: #363636 !important;
    border-color: #4a4a4a !important;
}

body.dark-mode .ivu-upload:hover {
    border-color: #5cadff !important;
}

/* 空状态 */
body.dark-mode .ivu-empty {
    color: #888888 !important;
}

/* 加载中 */
body.dark-mode .ivu-spin-fix {
    background-color: rgba(26, 26, 26, 0.9) !important;
}

/* 头像 */
body.dark-mode .ivu-avatar {
    background-color: #363636 !important;
}

/* 徽标 */
body.dark-mode .ivu-badge-count {
    background-color: #ed4014 !important;
}

/* 折叠面板 */
body.dark-mode .ivu-collapse {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
}

body.dark-mode .ivu-collapse-header {
    background-color: #363636 !important;
    color: #e0e0e0 !important;
}

/* 步骤条 */
body.dark-mode .ivu-steps-item-title {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-steps-item-content {
    color: #888888 !important;
}

/* 时间轴 */
body.dark-mode .ivu-timeline-item-content {
    color: #e0e0e0 !important;
}

/* 树形控件 */
body.dark-mode .ivu-tree-title {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-tree-title:hover {
    background-color: #363636 !important;
}

/* 滚动条美化 */
body.dark-mode ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body.dark-mode ::-webkit-scrollbar-track {
    background-color: #2d2d2d;
}

body.dark-mode ::-webkit-scrollbar-thumb {
    background-color: #4a4a4a;
    border-radius: 4px;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
    background-color: #5a5a5a;
}

/* 暗夜模式切换按钮样式 */
.dark-mode-toggle {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 9999;
    color: #ffffff;
    font-size: 24px;
}

.dark-mode-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.dark-mode-toggle:active {
    transform: scale(0.95);
}

body.dark-mode .dark-mode-toggle {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

/* 切换动画 - 仅对关键容器元素添加过渡，避免通配符导致模态框等组件卡顿 */
body {
    transition: background-color 0.3s ease, color 0.3s ease;
}

body.dark-mode #app,
body.dark-mode .main-content,
body.dark-mode .page-content,
body.dark-mode .navbar-header,
body.dark-mode .vertical-menu,
body.dark-mode .card,
body.dark-mode .card-body,
body.dark-mode .card-head,
body.dark-mode .ivu-menu,
body.dark-mode .ivu-layout-sider,
body.dark-mode .ivu-layout-header,
body.dark-mode .ivu-layout-content {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* 模态框、抽屉、遮罩层禁用 transition，防止展开卡顿 */
body.dark-mode .ivu-modal,
body.dark-mode .ivu-modal-mask,
body.dark-mode .ivu-modal-content,
body.dark-mode .ivu-modal-body,
body.dark-mode .ivu-drawer,
body.dark-mode .ivu-drawer-content,
body.dark-mode .ivu-modal-wrap,
body.dark-mode .os-url-main,
body.dark-mode .prog-main {
    transition: none !important;
}

/* ============================================
   修复白色区域 - 2026-05-26
   ============================================ */

/* 顶部导航栏 */
body.dark-mode .navbar-header {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
}

/* 页面背景 */
body.dark-mode {
    background-color: #1a1a1a !important;
}

/* 主内容卡片 */
body.dark-mode .page-content .container-fluid .card {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
}

/* 卡片标题 */
body.dark-mode .card-head {
    background-color: #363636 !important;
    color: #e0e0e0 !important;
    border-bottom-color: #404040 !important;
}

/* 侧边菜单 */
body.dark-mode .vertical-menu {
    background-color: #252525 !important;
    border-color: #404040 !important;
}

/* 底部 */
body.dark-mode .footer {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: #404040 !important;
}

/* 登录/注册页面容器 */
body.dark-mode .page-container {
    background-color: #2d2d2d !important;
    border-color: #404040 !important;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.5) !important;
}

/* 通知 */
body.dark-mode .geek-notice {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5) !important;
}

/* 页面内容区域 */
body.dark-mode .page-content {
    background-color: #1a1a1a !important;
}

/* 下拉菜单悬停 */
body.dark-mode .dropdown:hover,
body.dark-mode .d-flex span:hover {
    background-color: #363636 !important;
}

/* 头部项目 */
body.dark-mode .header-item {
    color: #e0e0e0 !important;
}

body.dark-mode .header-item:hover {
    color: #ffffff !important;
    background-color: #363636 !important;
}

/* 文本颜色 */
body.dark-mode .text-muted {
    color: #888888 !important;
}

/* 空状态文本 */
body.dark-mode .empty .empty-main .text {
    color: #888888 !important;
}

/* 链接颜色 */
body.dark-mode a {
    color: #5cadff !important;
}

body.dark-mode a:hover {
    color: #7dbfff !important;
}

/* 侧边栏菜单项 */
body.dark-mode #sidebar-menu .ivu-menu-item {
    color: #e0e0e0 !important;
}

body.dark-mode #sidebar-menu .ivu-menu-item:hover {
    background-color: #363636 !important;
}

body.dark-mode .ivu-menu-item-active {
    background-color: #2d8cf0 !important;
    color: #ffffff !important;
}

/* 徽章 */
body.dark-mode .badge-soft-primary {
    color: #5cadff !important;
    background-color: rgba(92, 173, 255, 0.18) !important;
}

/* 头像标题 */
body.dark-mode .avatar-title {
    background-color: #2d8cf0 !important;
}

/* 背景软色 */
body.dark-mode .bg-soft-primary {
    background-color: #1e3a5f !important;
}

/* OS URL 主区域 */
body.dark-mode .os-url-main {
    background-color: rgba(45, 45, 45, 0.9) !important;
}

body.dark-mode .os-url-main .os-item p:hover {
    color: #5cadff !important;
}

/* 进度条主区域 */
body.dark-mode .prog-main {
    background-color: rgba(45, 45, 45, 0.9) !important;
    color: #e0e0e0 !important;
}

/* 搜索输入框 */
body.dark-mode .card-head .search-input {
    background-color: #363636 !important;
    border-color: #4a4a4a !important;
    color: #e0e0e0 !important;
}

/* 卡片菜单 */
body.dark-mode .card-body .card-menu {
    color: #e0e0e0 !important;
}

/* 通知内容 */
body.dark-mode .geek-notice-cont-title {
    color: #e0e0e0 !important;
}

body.dark-mode .geek-notice-cont-html {
    color: #cccccc !important;
}

/* 页面容器关闭按钮 */
body.dark-mode .page-close img {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.5) !important;
}

/* 登录链接 */
body.dark-mode .ivu-login a,
body.dark-mode .goligin {
    color: #5cadff !important;
}

/* 页面内容背景遮罩 */
body.dark-mode .page-content[data-v-2babde66] {
    background-color: rgba(26, 26, 26, 0.8) !important;
}

/* #page-topbar 顶部栏 */
body.dark-mode #page-topbar {
    background-color: #1a1a1a !important;
}

/* navbar-header 阴影修复 */
body.dark-mode .navbar-header {
    box-shadow: 0 0 17px 0 rgba(0, 0, 0, 0.3) !important;
}

/* 卡片阴影修复 */
body.dark-mode .page-content .container-fluid .card {
    box-shadow: 0 0 17px 0 rgba(0, 0, 0, 0.3) !important;
}

/* 卡片body */
body.dark-mode .card-body {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

/* 固定头部 */
body.dark-mode .fixed-header {
    background-color: #2d2d2d !important;
}

/* 菜单遮罩 */
body.dark-mode .menu-overlay {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

/* ivu-modal 模态框内容 */
body.dark-mode .ivu-modal-content {
    background-color: #2d2d2d !important;
}

body.dark-mode .ivu-modal-header {
    border-bottom-color: #404040 !important;
}

body.dark-mode .ivu-modal-header-inner,
body.dark-mode .ivu-modal-header p {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-modal-body {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-modal-footer {
    border-top-color: #404040 !important;
}

/* ivu-drawer 抽屉 */
body.dark-mode .ivu-drawer-content {
    background-color: #2d2d2d !important;
}

body.dark-mode .ivu-drawer-header {
    border-bottom-color: #404040 !important;
}

body.dark-mode .ivu-drawer-header-inner,
body.dark-mode .ivu-drawer-header p {
    color: #e0e0e0 !important;
}

/* ivu-card 组件 */
body.dark-mode .ivu-card {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-card-head {
    border-bottom-color: #404040 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-card-head-inner,
body.dark-mode .ivu-card-head p {
    color: #e0e0e0 !important;
}

/* 上传拖拽区域 */
body.dark-mode .ivu-upload-drag {
    background-color: #363636 !important;
    border-color: #4a4a4a !important;
}

body.dark-mode .ivu-upload-drag:hover {
    border-color: #5cadff !important;
}

/* 消息通知 */
body.dark-mode .ivu-notice-notice {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-notice-title {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-notice-desc {
    color: #cccccc !important;
}

/* 确认对话框 */
body.dark-mode .ivu-modal-confirm-head-title {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-modal-confirm-body {
    color: #cccccc !important;
}

/* 全局通用白色背景覆盖 */
body.dark-mode .ivu-message-notice-content {
    background-color: #2d2d2d !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5) !important;
    color: #e0e0e0 !important;
}

/* 选择器下拉框 */
body.dark-mode .ivu-select-dropdown {
    background-color: #2d2d2d !important;
}

/* 日期选择器 */
body.dark-mode .ivu-picker-panel-body {
    background-color: #2d2d2d !important;
}

body.dark-mode .ivu-date-picker-header {
    border-bottom-color: #404040 !important;
    color: #e0e0e0 !important;
}

/* Tooltip */
body.dark-mode .ivu-tooltip-inner {
    background-color: #363636 !important;
}

/* Poptip */
body.dark-mode .ivu-poptip-inner {
    background-color: #2d2d2d !important;
}

body.dark-mode .ivu-poptip-title {
    color: #e0e0e0 !important;
}

body.dark-mode .ivu-poptip-title:after {
    background-color: #404040 !important;
}

body.dark-mode .ivu-poptip-body-content-inner {
    color: #e0e0e0 !important;
}

/* 表格wrapper边框 */
body.dark-mode .ivu-table-wrapper-with-border {
    border-color: #404040 !important;
}

/* 表格扩展行 */
body.dark-mode td.ivu-table-expanded-cell {
    background-color: #333333 !important;
}

/* 表格固定列 */
body.dark-mode .ivu-table-fixed-right-header {
    background-color: #363636 !important;
    border-color: #404040 !important;
}

/* 侧边栏菜单激活项 */
body.dark-mode .mm-active .active,
body.dark-mode li.mm-active > a {
    color: #5cadff !important;
}

/* 全局 body 颜色覆盖 */
body.dark-mode,
body.dark-mode #app,
body.dark-mode .main-content {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}
