/* ============================================
   登录页面样式 (Login Page)
   业务模块通用响应式样式
   全局布局 (Header/Sidebar/Main) 已移至 base-layout.css
   ============================================ */

/* ========== 登录页面 ========== */
.login-wrapper { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; }
.login-wrapper.show { display: block; }
.login-container { width: 640px; margin: 0 auto; background: #FFFFFF; border-radius: 16px; padding: 70px 48px; box-shadow: 0 8px 32px rgba(11, 115, 248, 0.08); border: 1px solid #e8ecf1; }
/* 版权+备案号：作为登录卡片内底部元素，跟随卡片在不同窗口尺寸下自适应，避免与登录按钮过远或重合 */
.login-copyright { text-align: center; color: #86909C; font-size: 12px; line-height: 1.9; margin-top: 22px; }
.login-copyright a { color: #86909C; text-decoration: none; }
.login-copyright a:hover { color: #409EFF; text-decoration: underline; }
.login-container.show { display: block; }
.login-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #F8FAFF; z-index: 9998; overflow: hidden; }
.login-overlay::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: linear-gradient(90deg, rgba(11, 115, 248, 0.04) 1px, transparent 1px), linear-gradient(rgba(11, 115, 248, 0.04) 1px, transparent 1px), linear-gradient(45deg, transparent 49.5%, rgba(11, 115, 248, 0.03) 49.5%, rgba(11, 115, 248, 0.03) 50.5%, transparent 50.5%), linear-gradient(-45deg, transparent 49.5%, rgba(11, 115, 248, 0.03) 49.5%, rgba(11, 115, 248, 0.03) 50.5%, transparent 50.5%); background-size: 120px 120px, 120px 120px, 200px 200px, 200px 200px; }
.login-overlay::after { content: ''; position: absolute; top: 50%; left: 50%; width: 160%; height: 160%; transform: translate(-50%, -50%); pointer-events: none; border-radius: 50%; background: radial-gradient(ellipse at center, transparent 30%, rgba(11, 115, 248, 0.015) 50%, transparent 70%), conic-gradient(from 0deg at 50% 50%, transparent 0deg, rgba(11, 115, 248, 0.02) 10deg, transparent 20deg, transparent 90deg, rgba(11, 115, 248, 0.02) 100deg, transparent 110deg, transparent 180deg, rgba(11, 115, 248, 0.02) 190deg, transparent 200deg, transparent 270deg, rgba(11, 115, 248, 0.02) 280deg, transparent 290deg); }
.login-overlay.show { display: block; }
.login-tabs { display: flex; gap: 10px; margin-bottom: 34px; }
.login-tab { flex: 1; text-align: center; padding: 16px; cursor: pointer; border-radius: 12px; background: #f5f7fa; color: #64748b; font-size: 16px; transition: all 0.3s; font-weight: 500; max-width: 320px; }
.login-tab:hover { background: #ebeef5; }
.login-tab.active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; font-weight: 600; }
.login-avatar { text-align: center; margin-bottom: 22px; }
.login-avatar .header-logo { width: 200px; height: 200px; border-radius: 20px; border: 4px solid #f0f0f0; box-shadow: 0 6px 20px rgba(0,0,0,0.1); object-fit: contain; }
.login-title { text-align: center; margin-bottom: 6px; color: #0B73F8; font-size: 22px; font-weight: 600; }
.login-subtitle { text-align: center; margin-bottom: 14px; color: #16A3FF; font-size: 18px; font-weight: 600; letter-spacing: 1px; }
.login-slogan { text-align: center; margin-bottom: 18px; color: #4E5969; font-size: 16px; font-weight: 400; }
.login-input-wrapper { position: relative; display: flex; align-items: center; background: #fff; border: 1px solid #dcdfe6; border-radius: 8px; transition: all 0.3s; }
.login-input-wrapper:focus-within { border-color: #0B73F8; background: #E6F0FF; }
.login-input-icon { padding-left: 14px; color: #86909C; font-size: 16px; }
.login-input { flex: 1; width: 100%; padding: 12px 15px; border: none; background: transparent; font-size: 14px; outline: none; color: #333; }
.login-input::placeholder { color: #86909C; }
.login-password-toggle { padding-right: 14px; cursor: pointer; display: flex; align-items: center; }
.login-password-toggle .eye-icon { width: 18px; height: 18px; color: #86909C; transition: color 0.2s; }
.login-password-toggle:hover .eye-icon { color: #0B73F8; }
.login-forget-wrapper { text-align: right; margin-bottom: 20px; }
.login-forget-link { color: #0B73F8; font-size: 13px; text-decoration: none; transition: all 0.2s; }
.login-forget-link:hover { text-decoration: underline; }
.login-btn { width: 100%; padding: 16px; margin-top: 6px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s; }
.login-btn:hover { opacity: 0.9; box-shadow: 0 4px 16px rgba(102, 126, 234, 0.3); }
.login-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.login-demo { margin-top: 30px; padding-top: 20px; border-top: 1px solid #eee; }
.login-demo-title { font-size: 12px; color: #64748b; margin-bottom: 12px; text-align: center; }
.demo-accounts { display: flex; flex-direction: column; gap: 8px; }
.demo-account { display: flex; justify-content: space-between; padding: 10px 15px; background: #f8fafc; border-radius: 6px; cursor: pointer; font-size: 13px; transition: all 0.2s; }
.demo-account:hover { background: #eef2ff; color: #667eea; }
.demo-account span:first-child { font-weight: 600; }
.demo-account span:last-child { color: #64748b; }

/* ============================================
   响应式适配 - 业务模块通用样式
   全局布局 (Header/Sidebar/Main) 响应式已在 base-layout.css
   ============================================ */

/* 平板 (768px - 1024px) - 业务模块响应式 */
@media (max-width: 1024px) {
    /* ===== 统计卡片响应式已迁移至各模块独立CSS ===== */
    .stats-grid-5 { display: flex !important; gap: 12px !important; }
    
    /* ===== 两列布局 ===== */
    .two-column-grid { flex-direction: column; }
    
    /* ===== 模板库 ===== */
    .template-list { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
    
    /* ===== 工作台 ===== */
    .dashboard-stats-grid .stat-card { padding: 10px 6px; min-width: 70px; min-height: 90px; }
    .dashboard-stats-grid .stat-icon { font-size: 20px; }
    .dashboard-stats-grid .stat-value { font-size: 22px; }
    .dashboard-stats-grid .stat-label { font-size: 12px; }
    .dashboard-stats-grid .stat-sub { font-size: 8px; }
    .dashboard-agent-grid { grid-template-columns: repeat(3, 1fr); }
    
    /* ===== 快速操作 ===== */
    .quick-actions { grid-template-columns: repeat(3, 1fr); }
    .agent-grid { grid-template-columns: repeat(3, 1fr); }
}

/* 手机 (<768px) - 业务模块响应式 */
@media (max-width: 768px) {
    /* ===== 工作台 ===== */
    .dashboard-agent-grid { grid-template-columns: repeat(2, 1fr); }
    .operation-records, .login-monitor { max-height: 200px; }
    
    /* ===== 统计卡片响应式已迁移至各模块独立CSS ===== */
    .stats-grid-4 { display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; }
    .stats-grid-4 .stat-card { padding: 10px 8px !important; min-width: 90px !important; max-width: none !important; }

    /* ===== 登录页面 ===== */
    .login-wrapper { width: 92% !important; }
    .login-container { padding: 60px 24px !important; border-radius: 16px !important; }
    .login-tabs { gap: 6px; margin-bottom: 24px; }
    .login-tab { padding: 11px 6px; font-size: 13px; border-radius: 8px; }
    .login-avatar { margin-bottom: 20px; }
    .login-avatar .header-logo { width: 120px !important; height: 120px !important; object-fit: contain !important; border-radius: 14px !important; }

    /* 通用统计卡片响应式已迁移至各模块独立CSS */

    /* ===== 页面标题响应式已迁移至各模块独立CSS ===== */
    .header-actions { display: flex; gap: 6px; flex-wrap: wrap; }
    .header-btn-primary { padding: 8px 14px !important; font-size: 13px !important; }
    .header-btn { padding: 7px 12px !important; font-size: 12px !important; }

    /* ===== 五阶段漏斗 ===== */
    .followup-pipeline { flex-wrap: wrap; justify-content: center; gap: 6px; padding: 10px 8px !important; }
    .pipeline-stage { min-width: 80px !important; max-width: 90px !important; padding: 8px 10px !important; flex: none !important; }
    .pipeline-num { font-size: 22px !important; margin-bottom: 4px !important; }
    .pipeline-label { font-size: 11px !important; }
    .pipeline-label span { font-size: 9px !important; }
    .pipeline-arrow { font-size: 14px !important; margin: 0 2px !important; }

    /* ===== 标签栏 ===== */
    .tab-bar { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding: 6px !important; gap: 6px !important; }
    .tab-bar .tab-btn { flex-shrink: 0; padding: 8px 14px !important; font-size: 12px !important; font-weight: 600 !important; }

    /* ===== 工具栏 ===== */
    .toolbar { flex-direction: column !important; gap: 8px !important; padding: 10px !important; }
    .toolbar > div { width: 100% !important; flex-wrap: wrap; }
    .toolbar .el-input { width: 100% !important; }
    .toolbar .el-select { min-width: 0 !important; flex: 1 !important; }

    /* ===== 表格 ===== */
    .table-wrapper { min-height: 200px; border-radius: 8px; }
    .data-table th { padding: 10px 6px !important; font-size: 11px !important; }
    .data-table td { padding: 10px 6px !important; font-size: 12px !important; }
    .el-table { font-size: 12px; }
    .el-table th.el-table__cell, .el-table td.el-table__cell { white-space: nowrap; }
    .el-table__body-wrapper { overflow-x: auto !important; }

    /* ===== 操作按钮 ===== */
    .op-buttons { gap: 4px; flex-wrap: wrap; }
    .op-btn { padding: 5px 8px !important; font-size: 12px !important; }

    /* ===== 弹窗 ===== */
    .el-dialog { width: 95% !important; margin: 8px auto !important; max-height: 90vh; overflow-y: auto; }
    .el-dialog__body { padding: 12px !important; }
    .el-dialog__header { padding: 14px 12px 10px !important; }

    /* ===== 表单 ===== */
    .form-row { grid-template-columns: 1fr !important; gap: 10px !important; }
    .form-row-3 { grid-template-columns: 1fr !important; gap: 10px !important; }
    .inline-fields { grid-template-columns: 1fr !important; }
    .settings-price-grid { grid-template-columns: 1fr !important; }

    /* ===== 搜索区域 ===== */
    .search-area { flex-direction: column; }
    .search-area .el-input { width: 100% !important; }

    /* ===== 卡片 ===== */
    .card { padding: 12px; }
    .card-header { flex-direction: column; align-items: flex-start; gap: 8px; }
    .two-column-grid { flex-direction: column !important; }
    .el-tabs__item { font-size: 13px !important; padding: 0 12px !important; }

    /* ===== 模板库 ===== */
    .library-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
    .library-tabs .tab-btn { font-size: 12px !important; padding: 8px 12px !important; white-space: nowrap; }
    .template-list { grid-template-columns: 1fr !important; }

    /* ===== 甘特图 ===== */
    .gantt-wrapper { min-width: 500px; overflow-x: auto; }
    .gantt-label-col { width: 100px; min-width: 100px; padding: 6px 6px; font-size: 12px; }
    .gantt-day-cell { width: 20px; font-size: 9px; }

    /* ===== 漏斗 ===== */
    .funnel { flex-wrap: wrap; gap: 8px; padding: 10px 0; }

    /* ===== 快速操作 ===== */
    .quick-actions { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
    .agent-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
    .profile-analysis { grid-template-columns: 1fr !important; }

    /* ===== 背景调查 ===== */
    .bg-grid { grid-template-columns: 1fr 1fr !important; }
    .bg-footer { flex-direction: column; align-items: flex-start; }
    .bg-actions { width: 100%; flex-wrap: wrap; }

    /* ===== 信息推送 ===== */
    .ip-forward-methods { grid-template-columns: repeat(2, 1fr) !important; }
    .ip-card-footer { flex-direction: column; gap: 10px; align-items: flex-start; }
    .ip-actions { width: 100%; }
    .ip-toolbar { flex-direction: column; gap: 8px; align-items: stretch; }
    .ip-toolbar-left, .ip-toolbar-right { width: 100%; justify-content: center; }

    /* ===== 知识库 ===== */
    .category-cards { gap: 10px; }
    .category-card { min-width: calc(50% - 5px) !important; padding: 14px 10px !important; }
    .category-card .card-icon { font-size: 28px !important; margin-bottom: 6px !important; }
    .category-card .card-name { font-size: 14px !important; }

    /* ===== 按钮组 ===== */
    .btn-group { flex-wrap: wrap; gap: 6px; }
    .el-button { font-size: 12px; }
    
    /* ===== 订单管理 ===== */
    .order-list { grid-template-columns: 1fr; }
    .order-card { padding: 12px; }
    .order-header { flex-direction: column; gap: 8px; align-items: flex-start; }
    .order-info { flex-direction: column; gap: 8px; }
    
    /* ===== 客户开发 ===== */
    .dev-grid { grid-template-columns: 1fr; }
    .dev-card { padding: 12px; }
    
    /* ===== AI智能中心 ===== */
    .ai-center-grid { grid-template-columns: repeat(2, 1fr); }
    .ai-card { padding: 14px; }
    .ai-card .icon { font-size: 28px; }
    
    /* ===== 跟进日历 ===== */
    .calendar-wrapper { overflow-x: auto; }
    .fc-header-toolbar { flex-wrap: wrap; gap: 8px; }
    .fc-toolbar-title { font-size: 16px; }
    .fc-button { padding: 4px 8px; font-size: 11px; }
    
    /* ===== 系统设置 ===== */
    .settings-section { padding: 12px; }
    .settings-form { padding: 0; }
    
    /* ===== 甘特图 ===== */
    .gantt-wrapper { min-width: 480px; }
    
    /* ===== 卡片内容 ===== */
    .card-content { padding: 8px; }
    .card-title { font-size: 14px !important; }
    
    /* ===== 统计卡片内容（限定 dashboard 容器，避免覆盖 admin-stat-card / ev-stat-* / cc-stat-*）===== */
    .dashboard-stats-grid .stat-label-wrap { text-align: center; }
    .dashboard-stats-grid .stat-sub { font-size: 11px !important; }
    
    /* ===== 快速操作卡片内容 ===== */
    .quick-action-card { padding: 14px 10px !important; }
    .quick-action-card .icon { font-size: 26px !important; }
    .quick-action-card .title { font-size: 13px !important; }
    .quick-action-card .desc { font-size: 11px !important; }
    
    /* ===== AI智能体卡片内容 ===== */
    .agent-card { padding: 14px !important; }
    .agent-card .icon { font-size: 24px !important; }
    .agent-card .name { font-size: 12px !important; }
    .agent-card .desc { font-size: 11px !important; }
    
    /* ===== 待办事项内容 ===== */
    .alert-box { padding: 10px !important; }
    .alert-title { font-size: 13px !important; }
    .alert-desc { font-size: 11px !important; }
    
    /* ===== 转化漏斗内容 ===== */
    .funnel-container { gap: 4px !important; }
    .funnel-item { gap: 8px !important; }
    .funnel-bar { min-width: 60px !important; height: 40px !important; font-size: 12px !important; }
    .funnel-label { font-size: 11px !important; min-width: 60px !important; }
    .funnel-rate { font-size: 11px !important; min-width: 40px !important; }
    
    /* ===== 团队操作记录内容 ===== */
    .operation-records { padding: 6px !important; }
    .record-item { padding: 8px 0 !important; gap: 8px !important; }
    .record-avatar { width: 32px !important; height: 32px !important; font-size: 14px !important; }
    .record-user { font-size: 12px !important; }
    .record-time { font-size: 10px !important; }
    .record-action { font-size: 11px !important; }
    .record-detail { padding: 2px 8px !important; font-size: 10px !important; }
    
    /* ===== 表格内容 ===== */
    .data-table th, .data-table td { padding: 8px 4px !important; font-size: 11px !important; }
    .data-table th { font-weight: 600; font-size: 10px !important; }
    
    /* ===== 弹窗内容 ===== */
    .el-dialog__body { padding: 12px !important; }
    .el-form-item { margin-bottom: 14px !important; }
    .el-form-item__label { font-size: 12px !important; }
    .el-input, .el-select, .el-textarea { font-size: 12px !important; }
    
    /* ===== 按钮内容 ===== */
    .el-button { font-size: 12px !important; padding: 6px 12px !important; }
    .btn-group { gap: 6px !important; }
    
    /* ===== 标签页内容 ===== */
    .el-tabs__item { font-size: 12px !important; padding: 0 10px !important; }
    
    /* ===== 状态标签内容 ===== */
    .stage-tag { font-size: 10px !important; padding: 2px 6px !important; }
}

/* 极小屏幕 (<480px) - 业务模块响应式 */
@media (max-width: 480px) {
    /* ===== 全局 ===== */
    .el-button { font-size: 11px !important; padding: 5px 8px !important; }
    
    /* ===== 登录页面 ===== */
    .login-container { width: 96% !important; padding: 40px 14px !important; }
    .login-avatar .header-logo { width: 100px !important; height: 100px !important; }
    
    /* ===== 甘特图 ===== */
    .gantt-wrapper { min-width: 480px; }
    
    /* ===== Tab标签 ===== */
    .el-tabs__item { font-size: 11px; padding: 0 6px; }
    
    /* ===== 五阶段漏斗 ===== */
    .pipeline-stage { min-width: 72px !important; max-width: 80px !important; padding: 6px 8px !important; }
    .pipeline-num { font-size: 18px !important; }
    .pipeline-label { font-size: 10px !important; }
    .pipeline-label span { font-size: 8px !important; }
    
    /* ===== 工作台 ===== */
    .dashboard-stats-grid .stat-card { padding: 10px 6px !important; min-width: 65px !important; min-height: 85px !important; }
    .dashboard-stats-grid .stat-value { font-size: 20px !important; }
    .dashboard-stats-grid .stat-icon { font-size: 18px !important; }
    .dashboard-stats-grid .stat-label { font-size: 11px !important; }
    .dashboard-stats-grid .stat-sub { font-size: 8px !important; }
    .quick-actions { grid-template-columns: repeat(2, 1fr); }
    .agent-grid { grid-template-columns: repeat(2, 1fr); }
    
    /* ===== 快速操作卡片内容 ===== */
    .quick-action-card { padding: 12px 8px !important; }
    .quick-action-card .icon { font-size: 22px !important; }
    .quick-action-card .title { font-size: 12px !important; }
    .quick-action-card .desc { font-size: 10px !important; }
    
    /* ===== AI智能体卡片内容 ===== */
    .agent-card { padding: 12px !important; }
    .agent-card .icon { font-size: 22px !important; }
    .agent-card .name { font-size: 11px !important; }
    .agent-card .desc { font-size: 10px !important; }
    
    /* ===== 转化漏斗内容 ===== */
    .funnel-bar { min-width: 50px !important; height: 35px !important; font-size: 11px !important; }
    .funnel-label { font-size: 10px !important; min-width: 50px !important; }
    .funnel-rate { font-size: 10px !important; }
    
    /* ===== 团队操作记录内容 ===== */
    .record-avatar { width: 28px !important; height: 28px !important; font-size: 12px !important; }
    .record-user { font-size: 11px !important; }
    .record-action { font-size: 10px !important; }
    .record-time { font-size: 9px !important; }
    
    /* ===== 模板库 ===== */
    .library-tabs .tab-btn { font-size: 11px !important; padding: 6px 10px !important; }
    .template-list { grid-template-columns: 1fr; }
    .template-card { padding: 10px !important; }
    .template-name { font-size: 13px !important; }
    .template-subject { font-size: 11px !important; }
    .template-preview { font-size: 11px !important; }
    
    /* ===== 知识库 ===== */
    .category-card { min-width: 100% !important; }
    .category-card .card-icon { font-size: 24px !important; }
    .category-card .card-name { font-size: 13px !important; }
    
    /* ===== AI智能中心 ===== */
    .ai-center-grid { grid-template-columns: 1fr; }
    
    /* ===== 表格 ===== */
    .data-table th, .data-table td { padding: 6px 3px !important; font-size: 10px !important; }
    .data-table th { font-size: 9px !important; }
    
    /* ===== 弹窗 ===== */
    .el-dialog { width: 98% !important; }
    .el-dialog__header { padding: 10px 10px 6px !important; }
    .el-dialog__title { font-size: 14px !important; }
    .el-dialog__body { padding: 10px !important; }
    
    /* ===== 表单 ===== */
    .el-form-item { margin-bottom: 12px !important; }
    .el-form-item__label { font-size: 11px !important; }
    .el-input__inner, .el-select__input { font-size: 11px !important; }
    
    /* ===== 状态标签 ===== */
    .stage-tag { font-size: 9px !important; padding: 1px 4px !important; }
    
    /* ===== 按钮组 ===== */
    .btn-group { gap: 4px !important; }
    
    /* ===== 搜索区域 ===== */
    .search-area { gap: 6px !important; }
    
    /* ===== 工具栏 ===== */
    .toolbar { gap: 6px !important; }
    
    /* ===== 统计卡片内容（限定 dashboard 容器，避免覆盖 admin-stat-card / ev-stat-* / cc-stat-*）===== */
    .dashboard-stats-grid .stat-value { font-size: 22px !important; }
    .dashboard-stats-grid .stat-icon { font-size: 20px !important; }
    .dashboard-stats-grid .stat-label { font-size: 11px !important; }
    .dashboard-stats-grid .stat-sub { font-size: 10px !important; }
}
