:root {
    /*main*/
    --primary-color: #dceaff; --lightblue-color: #f3f8ff; --darkblue-color: #588BEB; --darkgreen-color: #42887B; --gray-color: #808080; --gray-bg-color: #F3F4F6; --border-color: #e5e7eb; --black-font-color: #3B3B3B;
    /*remove-ai*/
    --remove-ai-primary: #4C84FF;--remove-ai-blue: #8195c5;--remove-ai-primary-light: #e8f0ff;--remove-ai-success: #28a745;--remove-ai-warning: #ffc107;--remove-ai-danger: #dc3545;--remove-ai-border: #e0e0e0;--remove-ai-bg: #f8f9fa;
    /*dedup*/
    --dedup-primary: #4C84FF;--dedup-primary-light: #e8f0ff;--dedup-success: #22c55e;--dedup-warning: #f59e0b;--dedup-danger: #ef4444;--dedup-info: #3b82f6;--dedup-border: #e5e7eb;--dedup-bg: #f8fafc;--dedup-text: #1f2937;--dedup-text-muted: #6b7280;
    /*mobile*/
    --mobile-bottom-bar-height: 60px;
    --mobile-tab-height: 44px;
    --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
    --touch-target-min: 44px;
    /*new compact header*/
    --header-height: 48px;
    --header-bg: #ffffff;
    --nav-active-color: #2563eb;
    --nav-hover-bg: #f0f7ff;
    --avatar-size: 32px;
}
/* ========== 紧凑型顶部导航栏 ==========*/
.netcolorful {background: linear-gradient(135deg, #588BEB 0%, #31daa7 100%);}
.netcolorful_btn {background: linear-gradient(135deg, #588BEB 0%, #31daa7 100%);color: #ffffff;border: none;padding: 6px 12px;border-radius: 6px;font-size: 0.9rem;cursor: pointer;transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);position: relative;overflow: hidden;box-shadow: 0 4px 15px rgba(88, 139, 235, 0.3);letter-spacing: 0.5px;white-space: nowrap;display: inline-flex;align-items: center;justify-content: center;gap: 8px;}
.netcolorful_btn::before {content: '';position: absolute;top: -50%;left: -50%;width: 200%;height: 200%;background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);transform: rotate(45deg);animation: shimmer 3s infinite;}
@keyframes shimmer {
    0% {transform: translateX(-100%) translateY(-100%) rotate(45deg);}
    100% {transform: translateX(100%) translateY(100%) rotate(45deg);}
}
.netcolorful_btn:hover {transform: translateY(-1px) scale(1.02);background: linear-gradient(135deg, #4A7FD8 0%, #1FCC93 100%); color: #ffffff;}
.netcolorful_btn:focus {outline: none;box-shadow: 0 0 0 3px rgba(88, 139, 235, 0.2), 0 8px 25px rgba(88, 139, 235, 0.45);}
.netcolorful_btn:active {transform: translateY(-1px) scale(0.98);box-shadow: 0 2px 8px rgba(88, 139, 235, 0.4);}
.netcolorful_btn:disabled {opacity: 0.6;cursor: not-allowed;transform: none;box-shadow: 0 2px 8px rgba(88, 139, 235, 0.15);}
.netcolorful_btn:disabled:hover {transform: none;box-shadow: 0 2px 8px rgba(88, 139, 235, 0.15);}
.netcolorful_bg {background: linear-gradient(135deg, #e0f7fa 0%, #e8f5e8 30%, #f3f0ff 60%, #fff3e0 100%);}
.header-compact {height: var(--header-height);background: var(--header-bg);border-bottom: 1px solid var(--border-color);display: flex;align-items: center;justify-content: space-between;padding: 0 16px;position: sticky;top: 0;z-index: 100;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);}
.header-left {display: flex;align-items: center;gap: 12px;}
.nav-toggle-mobile {display: none;background: none;border: none;font-size: 1.25rem;color: var(--black-font-color);cursor: pointer;padding: 6px;border-radius: 6px;transition: all 0.2s ease;}
.nav-toggle-mobile:hover {background: var(--gray-bg-color);}
.nav-toggle-mobile:active {transform: scale(0.95);}
/* 历史会话按钮 - 紧跟logo*/
.history-toggle-mobile {display: none;background: none;border: none;font-size: 1.15rem;color: #588BEB;cursor: pointer;padding: 6px;border-radius: 6px;transition: all 0.2s ease;margin-left: -4px;}
.history-toggle-mobile:hover {background: linear-gradient(135deg, #eff6ff 0%, #e0f2fe 100%);color: #2563eb;}
.history-toggle-mobile:active {transform: scale(0.95);}
.header-logo {display: flex;align-items: center;gap: 8px;text-decoration: none;}
.header-logo .logo-icon {width: 28px;height: 28px;object-fit: contain;}
.header-logo .logo-text {font-size: 1rem;font-weight: 600;background: linear-gradient(135deg, #588BEB 0%, #31daa7 100%);-webkit-background-clip: text;background-clip: text;color: transparent;}
/* 模块导航 - 桌面端*/
.module-nav-desktop {display: flex;align-items: center;gap: 4px;margin-left: 32px;}
.module-nav-desktop .nav-item {display: flex;align-items: center;gap: 6px;padding: 8px 14px;border-radius: 8px;font-size: 0.875rem;font-weight: 500;color: #64748b;text-decoration: none;transition: all 0.2s ease;}
.module-nav-desktop .nav-item i {font-size: 1rem;}
.module-nav-desktop .nav-item:hover {background: var(--nav-hover-bg);color: var(--nav-active-color);}
.module-nav-desktop .nav-item.active {background: linear-gradient(135deg, #eff6ff 0%, #e0f2fe 100%);color: var(--nav-active-color);}
/* 移动端模块导航下拉菜单*/
.nav-dropdown-menu {position: fixed;top: var(--header-height);left: 0;right: 0;background: #fff;border-bottom: 1px solid var(--border-color);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);padding: 12px 16px;display: none;z-index: 99;}
.nav-dropdown-menu.show {display: block;animation: dropdownFadeIn 0.2s ease;}
.nav-dropdown-item {display: flex;align-items: center;gap: 10px;padding: 10px 14px;border-radius: 8px;font-size: 0.9rem;color: #374151;text-decoration: none;transition: all 0.15s;}
.nav-dropdown-item:hover {background: var(--nav-hover-bg);color: var(--nav-active-color);}
.nav-dropdown-item.active {background: #eff6ff;color: var(--nav-active-color);font-weight: 500;}
.nav-dropdown-item i {font-size: 1rem;width: 20px;text-align: center;}
/* 用户下拉菜单*/
.header-right {display: flex;align-items: center;}
.user-dropdown {position: relative;}
.user-avatar-btn {display: flex;align-items: center;gap: 6px;background: none;border: none;cursor: pointer;padding: 4px 8px;border-radius: 24px;transition: background 0.2s;}
.user-avatar-btn:hover {background: var(--gray-bg-color);}
.user-avatar-btn .avatar-img {width: var(--avatar-size);height: var(--avatar-size);border-radius: 50%;object-fit: cover;border: 3px solid var(--primary-color);}
.user-avatar-btn.is-vip .avatar-img {border-color: #d4c4a0;box-shadow: 0 0 0 2px rgba(245, 214, 116, 0.28);}
.user-avatar-btn .avatar-chevron {font-size: 0.75rem;color: #9ca3af;transition: transform 0.2s;}
.user-avatar-btn .avatar-chevron.rotated {transform: rotate(180deg);}
.user-dropdown-menu {position: absolute;top: calc(100% + 8px);right: 0;background: #fff;border: 1px solid var(--border-color);border-radius: 14px;box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);min-width: 200px;padding: 0;display: none;z-index: 200;overflow: hidden;}
.user-dropdown-menu.show {display: block;animation: dropdownFadeIn 0.2s ease;}
@keyframes dropdownFadeIn {
    from {opacity: 0;transform: translateY(-8px);}
    to {opacity: 1;transform: translateY(0);}
}
.dropdown-header {display: flex;align-items: center;gap: 12px;padding: 16px;background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);}
.dropdown-avatar {width: 40px;height: 40px;border-radius: 50%;object-fit: cover;border: 2px solid #fff;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);}
.dropdown-user-info {display: flex;flex-direction: column;gap: 2px;}
.dropdown-username {font-size: 0.9rem;font-weight: 600;color: #1f2937;}
.dropdown-role {display: inline-flex;align-items: center;gap: 4px;font-size: 0.75rem;color: #6b7280;}
.dropdown-role .role-vip-icon {font-size: 0.72rem;line-height: 1;}
.vip-gold-icon {background: linear-gradient(180deg, #fff7cc 0%, #f8df7a 30%, #e0b542 62%, #b7791f 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; text-shadow: 0 1px 0 rgba(255, 248, 204, 0.25);}
.dropdown-divider {height: 1px;background: var(--border-color);margin: 0;}
.user-dropdown-menu .dropdown-item {display: flex;align-items: center;gap: 12px;padding: 12px 16px;font-size: 0.875rem;color: #374151;text-decoration: none;transition: all 0.15s;}
.user-dropdown-menu .dropdown-item:hover {background: #f9fafb;color: var(--nav-active-color);}
.user-dropdown-menu .dropdown-item i {font-size: 1rem;width: 20px;text-align: center;color: #9ca3af;}
.user-dropdown-menu .dropdown-item:hover i {color: var(--nav-active-color);}
.user-dropdown-menu .dropdown-item-danger {color: #dc2626;}
.user-dropdown-menu .dropdown-item-danger:hover {background: #fef2f2;color: #dc2626;}
.user-dropdown-menu .dropdown-item-danger i {color: #f87171;}
/* 主内容包装器*/
.main-wrapper {flex: 1;display: flex;flex-direction: column;overflow: hidden; height: calc(100vh - var(--header-height));height: calc(100dvh - var(--header-height));}
/* 页面内容包装器 - 用于非对话页面*/
.page-content-wrapper {flex: 1;display: flex;flex-direction: column;padding: 16px 20px;overflow-y: auto;background: #f8fafc;}
.page-content-wrapper .card {flex: 1;border-radius: 12px;border: 1px solid #e2e8f0;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);}
.page-content-wrapper .title-wrap {display: none; }
/* 论文子页面标题*/
.page-content-wrapper .page-title {font-size: 1.25rem;font-weight: 600;color: #1e293b;margin-bottom: 16px;display: flex;align-items: center;gap: 8px;}
.page-content-wrapper .page-title i {color: #3b82f6;}
.wrap_content { padding: 10px 20px; flex: 1; display: flex; flex-direction: column; overflow: hidden; height: calc(100vh - var(--header-height)); height: calc(100dvh - var(--header-height));}
.bg-blue-wrap {background-color: #f0f3fa !important; border: 1px solid #cfd9f1}
.bg-yellow-wrap {background-color: #faf7f0 !important; border: 1px solid #f1e2cf}
.bg-light-blue {background-color: #e9f1f8}
.border-left-0 {border-left: 0;}
.border-right-0 {border-right: 0;}
/*主布局区域*/
.main-content { width: 100%; margin: 0 auto;}
.page-content {padding: calc(10px + 5px) calc(20px / 2) 10px calc(20px / 2)}
.content_wrap_white { background: #FFFFFF; padding: 16px; box-shadow: 0 0 0 0 rgba(76, 132, 255, 0.4); border: 1px solid #eaeaea; border-radius: 10px;}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {padding-left: 0; padding-right: 0;}
.form-group {margin-bottom: 20px}
.col-form-label {text-align: right}
.close {padding: 5px; border-radius: 5px;}
.image-preview { margin: 2px;}
.title-wrap { border-radius: 8px; margin-bottom: 10px; display: flex; align-items: center; flex-wrap: wrap; }
.title-padding { padding: 0 10px;}
.title-wrap .autosave-status { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.title-wrap .pull-right { margin-left: auto; display: flex; align-items: center; }
.avatar-preview { padding: 2px;}
.nav-tabs {margin-left: 5px;}
.tab-content .card {border-top: 0 !important; box-shadow: 0 6px 12px rgba(129, 129, 129, 0.12);}
/* 输入框内的上传区域样式（新版） */
.ai-input-wrapper {position: relative; border-radius: 8px;background: #fff;overflow: hidden;}
.ai-input-wrapper textarea {border: none;border-radius: 8px 8px 0 0;resize: none;padding: 10px 12px 6px;font-size: 0.9rem;}
.ai-input-wrapper textarea:focus {outline: none;box-shadow: none;}
.ai-input-bottom {display: flex;align-items: center;padding: 6px 0;min-height: 44px;}
.ai-upload-area {display: flex;align-items: center;gap: 8px;}
.btn-upload-inline {width: 32px;height: 32px;border-radius: 6px;background: #f5f5f5;border: 1px solid #e0e0e0;display: flex;align-items: center;justify-content: center;cursor: pointer;transition: all 0.2s ease;padding: 0;color: #999;}
.btn-upload-inline:hover {background: #e9ecef;border-color: #4C84FF;color: #4C84FF;}
.btn-upload-inline i {font-size: 14px;}
.uploaded-preview-inline {display: flex;gap: 6px;align-items: center;}
.uploaded-thumb-inline {position: relative;width: 32px;height: 32px;border-radius: 6px;overflow: hidden;border: 1px solid #e0e0e0;background: #f5f5f5;}
.uploaded-thumb-inline img {width: 100%;height: 100%;object-fit: cover;}
.uploaded-thumb-inline .upload-loading {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(255, 255, 255, 0.8);display: flex;align-items: center;justify-content: center;}
.uploaded-thumb-inline .upload-loading .spinner-border-sm {width: 14px;height: 14px;border-width: 2px;}
.btn-remove-inline {position: absolute;top: -4px;right: -4px;width: 16px;height: 16px;border-radius: 50%;background: #ff4d4f;border: 1px solid #fff;color: #fff;display: flex;align-items: center;justify-content: center;cursor: pointer;padding: 0;font-size: 10px;line-height: 1;opacity: 0;transition: opacity 0.2s ease;}
.uploaded-thumb-inline:hover .btn-remove-inline {opacity: 1;}
.ai-upload-hint {flex: 1;padding-left: 8px;}
.ai-upload-hint .small {font-size: 0.75rem;}
.ai-input-footer {justify-content: space-between;box-shadow: 0 0 10px rgba(129, 129, 129, 0.1)}
/*页面*/
body {height: 100vh; height: 100dvh; color: var(--black-font-color) !important;font-size: .875rem; line-height: 1.5; overflow: hidden;}
.app-container {height: 100vh;height: 100dvh;display: grid;grid-template-rows: auto 1fr;background: #F2F6F9;bottom: 0;overflow-x: hidden;}
.header {background: white;border-bottom: 1px solid var(--border-color);padding: 0 1rem; display: flex; box-shadow: 0 0 10px rgba(162, 162, 162, 0.3);}
.logo { font-size: 1.2rem;font-weight: bold; color: transparent; background-image: linear-gradient(106deg, #588BEB 0, #31daa7 50%, #588BEB 100%); -webkit-background-clip: text; background-clip: text; align-items: center;}
.logo_chat_text { color: var(--darkblue-color)}
/* 自定义上传按钮样式 */
.custom-upload-btn { background-color: #dddddd; border: none; color: #5c5c5c; padding: 5px 10px; text-align: center; text-decoration: none; display: inline-block; font-size: 12px; margin: 4px 2px; cursor: pointer; border-radius: 5px; transition: background-color 0.3s ease;}
/* 用户头像样式 */
.user-header { display: flex; align-items: center; gap: 10px; position: relative;cursor: pointer;}
.user-avatar { width: 38px; height: 38px; overflow: hidden; border-radius: 50%; background-color: #C5D9FF; color: white; display: flex; align-items: center; justify-content: center; font-weight: bold; border: 3px solid var(--primary-color);}
.user-menu { position: absolute; top: 50px; right: 0; background-color: white; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); display: none; min-width: 150px; z-index: 1000;}
.user-menu.show { display: block; z-index: 1000; border: 2px solid var(--primary-color); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); padding: 2px;}
.user-menu-item {cursor: pointer; color: #333;}
.user-menu-item:last-child {border-bottom: none;}
.user-menu-item:hover { background-color: #f3f4f6;}
.user-menu-item a { padding: 10px; display: block; cursor: pointer; color: #333;}
/*首页登录*/
.auth {background: #588BEB}
.auth .form-wrapper { width: 980px; margin: 0 auto; min-height: 100vh; display: flex;align-items: center;justify-content: center;padding: 30px 15px;}
.auth .form-wrapper .container, .auth .form-wrapper .container-fluid, .auth .form-wrapper .container-lg, .auth .form-wrapper .container-md, .auth .form-wrapper .container-sm, .auth .form-wrapper .container-xl, .auth .form-wrapper .container-xxl {min-height: 100%}
.auth .card {border: none;margin: auto;border-radius: .5rem;overflow: hidden}
.auth .card .row .col {padding: 30px;min-height: 500px}
.auth .social-links {display: block}
.auth .social-links a {-webkit-box-flex: 1;-ms-flex: 1;flex: 1;-webkit-transition: all .3s;transition: all .3s;color: #000;margin-bottom: 15px;border-radius: 10px;border: 1px solid #ccc;padding: 2px 20px 2px 2px}
.auth .social-links a, .auth .social-links a i {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center}
.auth .social-links a i {width: 40px;font-size: 20px;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;color: #fff;height: 40px;border-radius: 10px;margin-right: 15px}
.auth .social-links a:focus, .auth .social-links a:hover {text-decoration: none;border-color: #4776e6}
[data-close-chat] {display: none}
.auth .form-wrapper .container, .auth .form-wrapper .container-fluid, .auth .form-wrapper .container-lg, .auth .form-wrapper .container-md, .auth .form-wrapper .container-sm, .auth .form-wrapper .container-xl, .auth .form-wrapper .container-xxl {min-height: 100%}
/* 自定义Tab样式  登录*/
.nav-tabs-custom {border-bottom: none; }
.nav-tabs-custom .nav-link {border: none;color: #6c757d;padding: 12px 20px;font-weight: 500;position: relative;transition: all 0.3s;font-size: 16px;background: transparent !important;}
.nav-tabs-custom .nav-link:after {content: '';position: absolute;bottom: 0;left: 0;width: 0;height: 3px;background-color: #588BEB;transition: all 0.3s ease;}
.nav-tabs-custom .nav-link:hover {color: #262626;border: none;background: transparent !important;}
.nav-tabs-custom .nav-link.active {color: #262626;background: transparent !important;border: none;}
.nav-tabs-custom .nav-link.active:after {width: 100%;}
/* 横向模型选择按钮样式 */
.model-tabs { display: flex; gap: 10px;}
.model-tabs .model-item { padding: 6px 10px; cursor: pointer; color: var(--black-font-color); background-color: var(--gray-bg-color); border-radius: 10px; font-size: 0.7rem;}
.model-tabs .model-item:hover { background-color: #f3f4f6;}
.model-tabs .model-item.active { background-color: #deeaff; color: var(--black-font-color); font-weight: bold}
/* 手机端下拉按钮样式 */
.mobile-model-select { display: none; position: relative; color: var(--darkblue-color);}
.model-btn { color: var(--darkblue-color); cursor: pointer; font-size: 1rem;}
.model-btn i { font-size: 1.2rem;}
/* 模型下拉菜单 */
.model-menu { position: absolute; top: 40px; right: 0; background-color: #F5F5F5; border-radius: 1rem; display: none; min-width: 250px; z-index: 1000;}
.model-menu.show { display: block; z-index: 1000; border: 2px solid var(--primary-color); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); padding: 2px; }
.model-menu .model-item { padding: 6px 10px; cursor: pointer; color: #333; font-size: 0.9rem; border-bottom: 1px solid #e3d9cf; }
.model-menu .model-item:last-child {border-bottom: none;}
.model-menu .model-item:hover { background-color: #f1f1f1;}
.model-menu .model-item.active { background-color: #F5F0EB; color: #6c655c;}
/*底部版权*/
.copyright {text-align: center; font-size: 0.7rem; color: #9498a1; margin-top: 2px; margin-bottom: 0;}
/* ========== 提示信息 ==========*/
.info-box {background: var(--remove-ai-primary-light); color: var(--remove-ai-blue); padding: 16px;border-radius: 0 8px 8px 0;margin-bottom: 20px;}
.info-box i {color: var(--remove-ai-primary);margin-right: 8px;}
.info-box p {margin: 0;font-size: 0.9rem;color: #333;}
/* ========== 标签页 ==========*/
.tab-buttons {display: inline-flex;gap: 4px;background: #f3f5f7;padding: 4px;border-radius: 10px;border-bottom: none;}
.tab-btn {padding: 8px 24px;border: none;background: transparent;color: #666;font-size: 0.95rem;font-weight: 500;cursor: pointer;border-radius: 8px;transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.tab-btn:hover {color: var(--remove-ai-primary);background: rgba(255, 255, 255, 0.5);}
.tab-btn.active {background: #fff;color: var(--remove-ai-primary);box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);}
.mode-tabs {display: inline-flex;background: linear-gradient(135deg, #e8effb 0%, #edf1f8 100%);border-radius: 10px;padding: 4px;gap: 6px;flex-wrap: wrap;align-items: center; width: 100%; clear: both; max-width: 100%;}
.mode-tab {padding: 9px 18px;background: transparent;border: none;border-radius: 7px;font-size: 0.85rem;color: #64748b;cursor: pointer;transition: all 0.2s ease;text-decoration: none;font-weight: 500;display: inline-flex;align-items: center;gap: 6px;}
.mode-tab:hover {color: #1e293b;}
.mode-tab.active {background: #fff;color: #4C84FF;box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);}
.mode-tab i {font-size: 0.95rem;}
.mode-tabs-scrollable {flex-wrap: nowrap;overflow-x: auto;scrollbar-width: thin;}
.mode-tabs-scrollable::-webkit-scrollbar {height: 4px;}
.mode-tabs-scrollable::-webkit-scrollbar-thumb {background: rgba(99, 102, 241, 0.35);border-radius: 10px;}
.mode-tabs-scrollable .mode-tab {white-space: nowrap;}
.tab-content { display: block !important; }
.tab-content > .tab-pane { display: none; }
.tab-content > .tab-pane.active { display: block; }
/* ========== 文本输入区域 ==========*/
.text-input-area {margin-top: 20px;}
.text-input-area textarea {width: 100%;min-height: 200px;border: 1px solid var(--remove-ai-border);border-radius: 8px;padding: 16px;font-size: 0.95rem;line-height: 1.6;resize: vertical;}
.text-input-area textarea:focus {border-color: var(--remove-ai-primary);outline: none;box-shadow: 0 0 0 3px rgba(76, 132, 255, 0.1);}
/* ========== 字数统计 ==========*/
.char-count {font-size: 0.8rem;color: #999; margin-top: 8px;}
/* ========== 上传区域 ==========*/
.upload-zone {border: 3px dashed #d1d5db;border-radius: 16px;padding: 20px 40px;margin-top: 10px;margin-bottom: 20px;text-align: center;background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);cursor: pointer;position: relative;overflow: hidden;}
.upload-zone::before {content: '';position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: linear-gradient(135deg, rgba(76, 132, 255, 0.05) 0%, rgba(76, 132, 255, 0.1) 100%);opacity: 0;transition: opacity 0.3s ease;}
.upload-zone:hover,
.upload-zone.dragover {border-color: var(--remove-ai-primary);background: linear-gradient(135deg, #e8f0ff 0%, #f0f4ff 100%);transform: scale(1.02);box-shadow: 0 8px 25px rgba(76, 132, 255, 0.15);}
.upload-zone:hover::before,
.upload-zone.dragover::before {opacity: 1;}
.upload-zone i {font-size: 64px;color: #9ca3af;margin-bottom: 20px;transition: all 0.3s ease;display: block;}
.upload-zone:hover i {color: var(--remove-ai-primary);transform: translateY(-5px);}
.upload-zone p {margin: 0;color: #374151;font-size: 1.1rem;font-weight: 500;transition: color 0.3s ease;}
.upload-zone .upload-hint {font-size: 0.9rem;color: #6b7280;margin-top: 8px;font-weight: normal;}
.upload-zone .upload-hint i {font-size: 1rem;display: inline;margin: 0 4px;}
/* 拖拽时的动画效果*/
@keyframes pulse {
    0% {box-shadow: 0 0 0 0 rgba(76, 132, 255, 0.4);}
    70% {box-shadow: 0 0 0 20px rgba(76, 132, 255, 0);}
    100% {box-shadow: 0 0 0 0 rgba(76, 132, 255, 0);}
}
.upload-zone.dragover {animation: pulse 1.5s infinite;}
/* 上传进度条*/
.upload-zone.uploading {pointer-events: none;}
.upload-zone .upload-progress {position: absolute;bottom: 0;left: 0;right: 0;height: 4px;background: rgba(76, 132, 255, 0.2);overflow: hidden;display: none;}
.upload-zone .upload-progress-bar {height: 100%;background: var(--remove-ai-primary);width: 0;transition: width 0.3s ease;}
/* 成功/错误状态*/
.upload-zone.success {border-color: var(--remove-ai-success);background: linear-gradient(135deg, #f0f9f0 0%, #e8f5e8 100%);}
.upload-zone.success i {color: var(--remove-ai-success);}
.upload-zone.error {border-color: var(--remove-ai-danger);background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);}
.upload-zone.error i {color: var(--remove-ai-danger);}
.stat-card {background: #fff;border-radius: 10px;padding: 6px 20px;text-align: center;border: 1px solid var(--dedup-border);transition: all 0.3s ease;display: flex;flex-direction: column;justify-content: center;align-items: center;}
.stat-card:hover {transform: translateY(-3px);box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);}
.stat-similarity {border-color: var(--dedup-success);}
.stat-value {font-size: 1.2rem;font-weight: 700;color: var(--dedup-text);line-height: 1.2;}
.stat-label {font-size: 0.9rem;color: var(--dedup-text-muted);margin-top: 8px;}
.stat-level {font-size: 0.95rem;font-weight: 600;margin-top: 8px;color: var(--dedup-success); float: left}
.stat-chart {display: flex;align-items: center;justify-content: center;}
/* ========== 分页样式 ==========*/
.pagination-wrapper {display: flex;justify-content: center;margin-top: 40px;}
.pagination {display: flex;flex-wrap: wrap;justify-content: center;gap: 6px;padding: 0;margin: 0;list-style: none;border-radius: 0;}
.pagination .page-item {list-style: none;margin: 0;}
.pagination .page-item .page-link,
.pagination .page-item span.page-link {display: inline-flex;align-items: center;justify-content: center;min-width: 40px;height: 40px;padding: 0 14px;border: 1px solid #dee2e6;border-radius: 6px;background: #ffffff;color: #6e6e6e;font-size: 0.9375rem;text-decoration: none;transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;cursor: pointer;}
/* 覆盖 Bootstrap 的 pagination-sm 样式*/
.pagination.pagination-sm .page-item .page-link,
.pagination.pagination-sm .page-item span.page-link {min-width: 40px !important;height: 40px !important;padding: 0 14px !important;font-size: 0.9375rem !important;}
.pagination .page-item .page-link:hover,
.pagination .page-item span.page-link:hover {background: #E3F3FE !important;color: #588BEB;border-color: #b6dcfb;}
/* 激活态 - 重写覆盖其他样式*/
.pagination .page-item.active {background: transparent !important;color: inherit !important;}
.pagination .page-item.active .page-link {background: #a3bef1 !important;color: #ffffff !important;border-color: #a3bef1 !important;cursor: default;}
.pagination .page-item.active .page-link:hover {background: #588BEB !important;color: #ffffff !important;border-color: #588BEB !important;transform: none;}
/* 禁用态*/
.pagination .page-item.disabled .page-link,
.pagination .page-item.disabled span.page-link {background: #f8f9fa !important;color: #94a3b8 !important;border-color: #dee2e6 !important;cursor: not-allowed;pointer-events: none;}
/* ========== Layui 弹窗美化 ==========*/
/* 弹窗主容器*/
.layui-layer-dialog {border-radius: 12px !important;box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15) !important;background: #fff !important;border: none !important;overflow: hidden;}
/* 弹窗内容区*/
.layui-layer-dialog .layui-layer-content {background: #fff !important;color: #333;padding: 24px !important;}
/* 弹窗标题栏*/
.layui-layer-dialog .layui-layer-title {background: linear-gradient(135deg, #eff6ff 0%, #F0F8FF 100%) !important;border-bottom: 1px solid #e5e7eb !important;border-radius: 12px 12px 0 0 !important;color: #333 !important;padding: 0 20px !important;font-weight: 500;}
/* 关闭按钮*/
.layui-layer-dialog .layui-layer-closebtn {color: #9ca3af !important;transition: color 0.2s;}
.layui-layer-dialog .layui-layer-closebtn:hover {color: #5e91ff !important;}
/* 弹窗白色背景专用*/
.layui-anim.layui-layer-dialog {background: #fff !important;}
/* 遮罩层透明度调整*/
.layui-layer-shade {background: rgba(0, 0, 0, 0.3) !important;}
.layui-layer-btn .layui-layer-btn0 {background: #6690e1 !important; border-radius: 5px;}
.layui-layer-btn a {height: 32px !important;}
/* 中等屏幕适配*/
@media (min-width: 769px) and (max-width: 1024px) {
    .module-nav-desktop .nav-item span {display: none;}
    .module-nav-desktop .nav-item {padding: 8px 12px;}
    .module-nav-desktop .nav-item i {font-size: 1.1rem;}
}
/* 移动端适配*/
@media (max-width: 768px) {
    .header {padding: 0.3rem 0.2rem;}
    .logo {font-size: 1rem;}
    .main-content {width: 100%;}
    .auth .form-wrapper {width: 100%;margin: 0 auto;}
    .mobile-model-select {display: flex;align-items: center;}
    .model-tabs {display: none;}
    h2 {font-size: 1.3rem;}
    .phone-hide {display: none;}
    /* 紧凑header响应式*/
    .header-compact {padding: 0 10px;}
    .nav-toggle-mobile, .history-toggle-mobile {display: block;}
    .module-nav-desktop {display: none;}
    .module-nav-mobile {display: block;}
    .header-logo .logo-text {display: none;}
    .user-avatar-btn .avatar-chevron {display: none;}
    .user-dropdown-menu {right: -8px;min-width: 180px;}
    .dropdown-header {padding: 12px;}
    .dropdown-avatar {width: 36px;height: 36px;}
    .pagination-wrapper {margin-top: 28px;}
    .pagination .page-item .page-link, .pagination .page-item span.page-link {min-width: 36px;height: 36px;padding: 0 10px;font-size: 0.875rem;}
    /* 移动端 pagination-sm 也保持合适大小*/
    .pagination.pagination-sm .page-item .page-link, .pagination.pagination-sm .page-item span.page-link {min-width: 36px !important;height: 36px !important;padding: 0 10px !important;font-size: 0.875rem !important;}
    /* 移动端 mode-tabs 样式优化 */
    .mode-tabs {width: auto !important;max-width: 100%;justify-content: flex-start;}
    .wrap_content {padding: 10px 12px;}
}

