/* 深色模式样式 - 使用CSS变量支持主题切换 */

:root {
    /* 浅色模式颜色 */
    --bg-primary: #f0f2f5;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f9f9f9;
    --bg-hover: #e9e9e9;
    --text-primary: #333333;
    --text-secondary: #555555;
    --text-tertiary: #666666;
    --border-color: #ccc;
    --border-light: #e0e0e0;
    --shadow: rgba(0, 0, 0, 0.1);
    --shadow-hover: rgba(0, 0, 0, 0.15);
    
    /* 主题色（保持不变） */
    --primary-green: #4CAF50;
    --primary-green-hover: #45a049;
    --primary-blue: #2196F3;
    --primary-blue-hover: #1976D2;
    --primary-red: #e74c3c;
    --primary-red-hover: #c0392b;
}

/* 深色模式 */
[data-theme="dark"] {
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-tertiary: #3a3a3a;
    --bg-hover: #4a4a4a;
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --text-tertiary: #909090;
    --border-color: #4a4a4a;
    --border-light: #3a3a3a;
    --shadow: rgba(0, 0, 0, 0.3);
    --shadow-hover: rgba(0, 0, 0, 0.5);
}

/* 应用主题变量 */
[data-theme="dark"] body,
body[data-theme="dark"] {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-container,
[data-theme="dark"] .container,
[data-theme="dark"] .profile-card,
body[data-theme="dark"] .form-container,
body[data-theme="dark"] .container,
body[data-theme="dark"] .profile-card {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 2px 4px var(--shadow) !important;
}

[data-theme="dark"] label,
body[data-theme="dark"] label {
    color: var(--text-secondary) !important;
}

/* 所有输入框、文本域、下拉框的深色模式样式 */
[data-theme="dark"] input,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] textarea,
[data-theme="dark"] select,
body[data-theme="dark"] input,
body[data-theme="dark"] input[type="text"],
body[data-theme="dark"] input[type="number"],
body[data-theme="dark"] input[type="email"],
body[data-theme="dark"] input[type="password"],
body[data-theme="dark"] input[type="tel"],
body[data-theme="dark"] input[type="search"],
body[data-theme="dark"] textarea,
body[data-theme="dark"] select {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 下拉框选项样式 */
[data-theme="dark"] select option,
body[data-theme="dark"] select option {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* 文本域的占位符 */
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] input::placeholder,
body[data-theme="dark"] textarea::placeholder,
body[data-theme="dark"] input::placeholder {
    color: var(--text-tertiary) !important;
    opacity: 0.7;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus,
body[data-theme="dark"] input:focus,
body[data-theme="dark"] textarea:focus,
body[data-theme="dark"] select:focus {
    border-color: var(--primary-blue) !important;
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* 确保输入框内的文字始终可见 */
[data-theme="dark"] input:-webkit-autofill,
[data-theme="dark"] textarea:-webkit-autofill,
body[data-theme="dark"] input:-webkit-autofill,
body[data-theme="dark"] textarea:-webkit-autofill {
    -webkit-text-fill-color: var(--text-primary) !important;
    -webkit-box-shadow: 0 0 0px 1000px var(--bg-tertiary) inset !important;
}

[data-theme="dark"] table,
body[data-theme="dark"] table {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] table th,
body[data-theme="dark"] table th {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] table td,
body[data-theme="dark"] table td {
    color: var(--text-primary) !important;
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] table tr:hover,
body[data-theme="dark"] table tr:hover {
    background-color: var(--bg-hover) !important;
}

[data-theme="dark"] .item-row:hover,
body[data-theme="dark"] .item-row:hover {
    background-color: var(--bg-hover) !important;
}

[data-theme="dark"] .toolbar,
body[data-theme="dark"] .toolbar {
    background-color: var(--bg-tertiary) !important;
}

[data-theme="dark"] .flash-messages .error,
body[data-theme="dark"] .flash-messages .error {
    background-color: rgba(231, 76, 60, 0.2) !important;
    color: #ff9999 !important;
    border-color: rgba(231, 76, 60, 0.4) !important;
}

[data-theme="dark"] .flash-messages .success,
body[data-theme="dark"] .flash-messages .success {
    background-color: rgba(76, 175, 80, 0.2) !important;
    color: #99ff99 !important;
    border-color: rgba(76, 175, 80, 0.4) !important;
}

/* 深色模式切换按钮样式（简化版：单个图标按钮） */
.dark-mode-toggle {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-secondary);
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 2px 8px var(--shadow);
    border: 1px solid var(--border-color);
    width: 40px;
    height: 40px;
    transition: all 0.3s;
}

.dark-mode-toggle:hover {
    box-shadow: 0 4px 12px var(--shadow-hover);
    transform: scale(1.05);
}

.dark-mode-toggle-btn {
    background: none !important;
    border: none !important;
    cursor: pointer;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s;
}

.dark-mode-toggle-btn:hover {
    background-color: var(--bg-hover) !important;
}

.dark-mode-toggle-btn .toggle-icon {
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    transition: transform 0.3s;
}

.dark-mode-toggle-btn:hover .toggle-icon {
    transform: rotate(20deg);
}

/* 深色模式下的特殊元素 */
[data-theme="dark"] .box-net-weight,
body[data-theme="dark"] .box-net-weight {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .item-list,
body[data-theme="dark"] .item-list {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .item-row,
body[data-theme="dark"] .item-row {
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] h1,
body[data-theme="dark"] h1 {
    color: var(--primary-green) !important;
}

[data-theme="dark"] h2,
body[data-theme="dark"] h2 {
    color: var(--text-primary) !important;
}

/* 深色模式下所有链接和蓝色文字改为白色 */
[data-theme="dark"] a,
body[data-theme="dark"] a {
    color: var(--text-primary) !important;
}

[data-theme="dark"] a:hover,
body[data-theme="dark"] a:hover {
    color: var(--primary-green) !important;
}

/* 认证页面样式（auth.css相关） */
[data-theme="dark"] .auth-container,
[data-theme="dark"] .auth-card,
body[data-theme="dark"] .auth-container,
body[data-theme="dark"] .auth-card {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .auth-title h1,
body[data-theme="dark"] .auth-title h1 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .auth-background-overlay,
body[data-theme="dark"] .auth-background-overlay {
    background: rgba(26, 26, 26, 0.7) !important;
}

/* 深色模式下的特殊类和元素 */

/* 箱子容器 */
[data-theme="dark"] .box-container,
body[data-theme="dark"] .box-container {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}

/* 单选按钮组 */
[data-theme="dark"] .radio-group,
body[data-theme="dark"] .radio-group {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}

/* 单选按钮 */
[data-theme="dark"] input[type="radio"],
body[data-theme="dark"] input[type="radio"] {
    accent-color: var(--primary-blue) !important;
}

/* 复选框 */
[data-theme="dark"] input[type="checkbox"],
body[data-theme="dark"] input[type="checkbox"] {
    accent-color: var(--primary-blue) !important;
}

/* 体积输入框 */
[data-theme="dark"] .volume-input,
[data-theme="dark"] .box-gross-weight,
[data-theme="dark"] .box-net-weight,
body[data-theme="dark"] .volume-input,
body[data-theme="dark"] .box-gross-weight,
body[data-theme="dark"] .box-net-weight {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 表格内的输入框 */
[data-theme="dark"] .item-table input,
[data-theme="dark"] .item-table select,
[data-theme="dark"] .item-table textarea,
body[data-theme="dark"] .item-table input,
body[data-theme="dark"] .item-table select,
body[data-theme="dark"] .item-table textarea {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 产品选择器 */
[data-theme="dark"] .product-select,
[data-theme="dark"] .product-select-container select,
body[data-theme="dark"] .product-select,
body[data-theme="dark"] .product-select-container select {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 表单组输入框 */
[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group select,
[data-theme="dark"] .form-group textarea,
body[data-theme="dark"] .form-group input,
body[data-theme="dark"] .form-group select,
body[data-theme="dark"] .form-group textarea {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 箱子数量输入框 */
[data-theme="dark"] .box-quantity input,
body[data-theme="dark"] .box-quantity input {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 确保所有内联样式的背景色也被覆盖 */
[data-theme="dark"] [style*="background"],
body[data-theme="dark"] [style*="background"] {
    /* 注意：内联样式优先级很高，需要使用JS来处理，这里只处理文本颜色 */
}

/* 确保所有白色背景的元素在深色模式下都变暗 */
[data-theme="dark"] *,
body[data-theme="dark"] * {
    /* 修复可能遗漏的白色背景 */
}

/* 特殊处理：强制覆盖可能的白色背景 */
[data-theme="dark"] textarea[style*="white"],
[data-theme="dark"] input[style*="white"],
body[data-theme="dark"] textarea[style*="white"],
body[data-theme="dark"] input[style*="white"] {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* 历史记录弹窗深色模式样式 */
[data-theme="dark"] #historyModal > div,
body[data-theme="dark"] #historyModal > div {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #historyModal h2,
body[data-theme="dark"] #historyModal h2 {
    color: var(--primary-green) !important;
}

[data-theme="dark"] #historyRecordsList,
body[data-theme="dark"] #historyRecordsList {
    background-color: transparent !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #historyRecordsList p,
body[data-theme="dark"] #historyRecordsList p {
    color: var(--text-tertiary) !important;
}

/* 原始信息框深色模式样式 */
[data-theme="dark"] #rawTextDisplay,
body[data-theme="dark"] #rawTextDisplay {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-left-color: var(--primary-green) !important;
}

[data-theme="dark"] #rawTextDisplay > div:first-child,
body[data-theme="dark"] #rawTextDisplay > div:first-child {
    color: var(--primary-green) !important;
}

[data-theme="dark"] #leftHalf,
[data-theme="dark"] #rightHalf,
body[data-theme="dark"] #leftHalf,
body[data-theme="dark"] #rightHalf {
    color: var(--text-primary) !important;
}

/* 统计信息深色模式样式 */
[data-theme="dark"] .box-stats,
[data-theme="dark"] #boxStats,
body[data-theme="dark"] .box-stats,
body[data-theme="dark"] #boxStats {
    color: var(--text-primary) !important;
}

/* 欢迎页面深色模式样式 */
[data-theme="dark"] .date-display,
body[data-theme="dark"] .date-display {
    color: var(--text-primary) !important;
}

/* 欢迎页面链接样式 - 与欢迎文字一致 */
[data-theme="dark"] .user-actions a,
body[data-theme="dark"] .user-actions a {
    color: var(--text-secondary) !important;
    font-size: 0.9em !important;
}

[data-theme="dark"] .user-actions a:hover,
body[data-theme="dark"] .user-actions a:hover {
    color: var(--primary-green) !important;
}

/* 发票页面深色模式样式 */
[data-theme="dark"] .invoice-form-container,
body[data-theme="dark"] .invoice-form-container {
    background-color: var(--bg-secondary) !important;
}

/* 个人主页深色模式优化 */
[data-theme="dark"] .profile-header,
body[data-theme="dark"] .profile-header {
    border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .profile-header p,
body[data-theme="dark"] .profile-header p {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .info-item,
body[data-theme="dark"] .info-item {
    border-bottom-color: var(--border-light) !important;
}

[data-theme="dark"] .info-label,
body[data-theme="dark"] .info-label {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .info-value,
body[data-theme="dark"] .info-value {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .section-title,
body[data-theme="dark"] .section-title {
    color: var(--text-primary) !important;
    border-bottom-color: var(--primary-green) !important;
}

[data-theme="dark"] .email-subscription-section,
body[data-theme="dark"] .email-subscription-section {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .back-link a,
body[data-theme="dark"] .back-link a {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .back-link a:hover,
body[data-theme="dark"] .back-link a:hover {
    color: var(--primary-green) !important;
}

/* 记录页面深色模式优化 */
[data-theme="dark"] .filter-section,
body[data-theme="dark"] .filter-section {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .stats,
body[data-theme="dark"] .stats {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

/* 深色模式下合同号链接改为白色 */
[data-theme="dark"] .contract-link,
body[data-theme="dark"] .contract-link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .contract-link:hover,
body[data-theme="dark"] .contract-link:hover {
    color: var(--primary-green) !important;
}

/* 深色模式下快递单号链接改为白色 */
[data-theme="dark"] .express-link,
body[data-theme="dark"] .express-link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .express-link:hover,
body[data-theme="dark"] .express-link:hover {
    color: var(--primary-green) !important;
}

/* 深色模式下所有蓝色文字改为白色 */
[data-theme="dark"] [style*="color:#2196F3"],
[data-theme="dark"] [style*="color: #2196F3"],
[data-theme="dark"] [style*="color:#3498db"],
[data-theme="dark"] [style*="color: #3498db"],
body[data-theme="dark"] [style*="color:#2196F3"],
body[data-theme="dark"] [style*="color: #2196F3"],
body[data-theme="dark"] [style*="color:#3498db"],
body[data-theme="dark"] [style*="color: #3498db"] {
    color: var(--text-primary) !important;
}

/* 发票页面深色模式样式 */
[data-theme="dark"] #itemList,
body[data-theme="dark"] #itemList {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .item-table,
body[data-theme="dark"] .item-table {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .item-table thead,
body[data-theme="dark"] .item-table thead {
    background-color: var(--primary-green) !important;
}

[data-theme="dark"] .item-table td,
body[data-theme="dark"] .item-table td {
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .item-table tbody tr:hover,
body[data-theme="dark"] .item-table tbody tr:hover {
    background-color: var(--bg-hover) !important;
}

[data-theme="dark"] .item-section-header,
body[data-theme="dark"] .item-section-header {
    color: var(--text-primary) !important;
    border-bottom-color: var(--primary-green) !important;
}

/* 发票历史记录弹窗 */
[data-theme="dark"] #invoiceHistoryModal > div,
body[data-theme="dark"] #invoiceHistoryModal > div {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #invoiceHistoryModal h2,
body[data-theme="dark"] #invoiceHistoryModal h2 {
    color: var(--primary-green) !important;
}

[data-theme="dark"] #invoiceHistoryRecordsList,
body[data-theme="dark"] #invoiceHistoryRecordsList {
    background-color: transparent !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #invoiceHistoryRecordsList p,
body[data-theme="dark"] #invoiceHistoryRecordsList p {
    color: var(--text-tertiary) !important;
}

/* 报关页面通知栏深色模式样式 */
[data-theme="dark"] #status-area,
body[data-theme="dark"] #status-area {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

[data-theme="dark"] #status-area div,
[data-theme="dark"] #status-area p,
body[data-theme="dark"] #status-area div,
body[data-theme="dark"] #status-area p {
    color: var(--text-primary) !important;
}

/* AI状态提示深色模式 */
[data-theme="dark"] #deepseekStatus,
body[data-theme="dark"] #deepseekStatus {
    color: var(--primary-green) !important;
}

/* 用户管理页面深色模式样式 */
[data-theme="dark"] .user-management-container,
body[data-theme="dark"] .user-management-container {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] .header,
body[data-theme="dark"] .header {
    border-bottom-color: var(--primary-green) !important;
}

[data-theme="dark"] .header h1 span,
body[data-theme="dark"] .header h1 span {
    color: var(--text-secondary) !important;
}

/* 统计区域深色模式 */
[data-theme="dark"] .stat-value,
body[data-theme="dark"] .stat-value {
    color: var(--primary-green) !important;
}

[data-theme="dark"] .stat-label,
body[data-theme="dark"] .stat-label {
    color: var(--text-secondary) !important;
}

/* 用户管理表格深色模式 */
[data-theme="dark"] table tr:nth-child(even),
body[data-theme="dark"] table tr:nth-child(even) {
    background-color: var(--bg-tertiary) !important;
}

[data-theme="dark"] table tr:nth-child(odd),
body[data-theme="dark"] table tr:nth-child(odd) {
    background-color: var(--bg-secondary) !important;
}

[data-theme="dark"] table tr:hover,
body[data-theme="dark"] table tr:hover {
    background-color: var(--bg-hover) !important;
}

[data-theme="dark"] table td,
body[data-theme="dark"] table td {
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* 角色徽章深色模式 */
[data-theme="dark"] .role-user,
body[data-theme="dark"] .role-user {
    background-color: var(--primary-blue) !important;
    color: white !important;
}

[data-theme="dark"] .role-admin,
body[data-theme="dark"] .role-admin {
    background-color: var(--primary-red) !important;
    color: white !important;
}

/* 发票记录表页面深色模式样式 */
[data-theme="dark"] .express-link,
body[data-theme="dark"] .express-link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .express-link:hover,
body[data-theme="dark"] .express-link:hover {
    color: var(--primary-green) !important;
}
