:root{--primary-color: #1677ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--purple-color: #722ed1;--text-color: #262626;--text-secondary: #8c8c8c;--bg-color: #f0f2f5;--border-color: #e8e8e8;--card-shadow: 0 1px 4px rgba(0, 0, 0, .08);--card-shadow-hover: 0 4px 16px rgba(0, 0, 0, .12);--transition-base: all .22s cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.5}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.ant-card-hoverable{transition:var(--transition-base)!important;box-shadow:var(--card-shadow)}.ant-card-hoverable:hover{box-shadow:var(--card-shadow-hover)!important;transform:translateY(-1px)}.ant-table-tbody>tr:hover>td{background-color:#f0f7ff!important;transition:background-color .15s}.campaign-plan-table .ant-table-body{overflow-x:hidden!important;scrollbar-width:thin}.campaign-plan-table .ant-table-body::-webkit-scrollbar{height:0}.campaign-plan-table .ant-table-content{overflow:visible!important}.campaign-management-page{color:#1f2937}.campaign-tabs-shell{border:1px solid #e8edf3;border-bottom:0;border-radius:8px 8px 0 0;box-shadow:0 1px 3px #0f172a0a}.campaign-tabs-shell .ant-tabs-nav{margin:0}.campaign-summary-toggle{height:16px;position:relative;display:flex;align-items:center;justify-content:center;background:#fff;border-left:1px solid #e8edf3;border-right:1px solid #e8edf3;cursor:pointer}.campaign-summary-toggle-line{position:absolute;left:18px;right:18px;height:1px;background:#dbe4ee}.campaign-summary-toggle .ant-btn{z-index:1;width:24px;height:24px;min-width:24px;color:#5b6b80;background:#fff;border:1px solid #dbe4ee;box-shadow:0 1px 4px #0f172a14}.campaign-summary-toggle:hover .campaign-summary-toggle-line{background:#1677ff}.campaign-summary-toggle:hover .ant-btn{color:#1677ff;border-color:#1677ff}.campaign-summary-panel{border-left:1px solid #e8edf3;border-right:1px solid #e8edf3;border-bottom:1px solid #e8edf3}.campaign-main-content{border:1px solid #e8edf3;border-top:0;border-radius:0 0 8px 8px;box-shadow:0 1px 3px #0f172a0a;min-width:0}.campaign-table-pane{padding-bottom:0!important;min-width:0}.campaign-table-scroll{background:#fff;scrollbar-width:thin}.campaign-table-scroll::-webkit-scrollbar{height:8px}.campaign-table-scroll::-webkit-scrollbar-thumb{background:#b8c2cf;border-radius:999px}.campaign-table-scroll::-webkit-scrollbar-track{background:#eef2f6}.campaign-plan-table .ant-table{font-size:15px;color:#1f2937}.campaign-plan-table .ant-table-thead>tr>th{padding:13px 10px!important;font-size:14px;font-weight:700;color:#111827;background:#f6f8fb!important;border-bottom-color:#e5eaf0!important;white-space:nowrap}.campaign-plan-table .ant-table-tbody>tr>td{padding:13px 10px!important;font-size:15px;line-height:1.7;color:#1f2937;border-bottom-color:#edf1f5!important;vertical-align:middle}.campaign-plan-table .ant-table-tbody>tr.campaign-row-even>td{background:#fff}.campaign-plan-table .ant-table-tbody>tr.campaign-row-odd>td{background:#f7fbff}.campaign-plan-table .ant-table-tbody>tr.campaign-row-loss>td{background:#effaf1!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-compensation>td{background:#fff7d6!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-profit>td{background:#fff1f0!important}.campaign-plan-table .ant-table-tbody>tr:hover>td{background:#dcecff!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-loss:hover>td{background:#d5f0db!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-compensation:hover>td{background:#ffeaa3!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-profit:hover>td{background:#ffd8d6!important}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected>td{background:#cfe4ff!important;color:#0f172a}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-loss>td{background:#c7ead0!important}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-compensation>td{background:#ffe58f!important}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-profit>td{background:#ffccc7!important}.campaign-plan-table .ant-table-cell-fix-left,.campaign-plan-table .ant-table-cell-fix-right{background:inherit}.campaign-plan-table .ant-table-tbody>tr.campaign-row-even>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-even>td.ant-table-cell-fix-right{background:#fff}.campaign-plan-table .ant-table-tbody>tr.campaign-row-odd>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-odd>td.ant-table-cell-fix-right{background:#f7fbff}.campaign-plan-table .ant-table-tbody>tr.campaign-row-loss>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-loss>td.ant-table-cell-fix-right{background:#effaf1!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-compensation>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-compensation>td.ant-table-cell-fix-right{background:#fff7d6!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-profit>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-profit>td.ant-table-cell-fix-right{background:#fff1f0!important}.campaign-plan-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:#dcecff!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-loss:hover>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-loss:hover>td.ant-table-cell-fix-right{background:#d5f0db!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-compensation:hover>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-compensation:hover>td.ant-table-cell-fix-right{background:#ffeaa3!important}.campaign-plan-table .ant-table-tbody>tr.campaign-row-profit:hover>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.campaign-row-profit:hover>td.ant-table-cell-fix-right{background:#ffd8d6!important}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected>td.ant-table-cell-fix-right{background:#cfe4ff!important}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-loss>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-loss>td.ant-table-cell-fix-right{background:#c7ead0!important}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-compensation>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-compensation>td.ant-table-cell-fix-right{background:#ffe58f!important}.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-profit>td.ant-table-cell-fix-left,.campaign-plan-table .ant-table-tbody>tr.ant-table-row-selected.campaign-row-profit>td.ant-table-cell-fix-right{background:#ffccc7!important}.campaign-plan-table .ant-typography{font-size:14px}.campaign-plan-table .ant-tag,.campaign-plan-table .ant-btn{font-size:13px}.campaign-stage-tag{min-width:70px;text-align:center;border-radius:4px}.campaign-target-tag{min-width:64px;margin:0;text-align:center;font-weight:650;border-style:solid;border-width:1px;border-radius:4px}.campaign-table-pagination{min-height:34px;margin:0;padding:6px 0 0;display:flex;justify-content:flex-end;align-items:center;background:#fff;border-top:1px solid #e5eaf0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.campaign-table-pagination .ant-pagination{line-height:1}.campaign-table-pagination .ant-pagination-total-text{height:28px;line-height:28px}.campaign-batch-bar{position:sticky;bottom:0;z-index:30;min-height:36px!important;margin-top:8px!important;padding:4px 12px!important;border-radius:8px!important;box-shadow:0 -6px 18px #0f172a14,0 1px 3px #0f172a0a}.ant-btn{transition:var(--transition-base)}.ant-menu-item,.ant-menu-submenu-title{transition:var(--transition-base)!important;border-radius:6px!important;margin:2px 8px!important;width:calc(100% - 16px)!important}.ant-menu-item-selected{font-weight:600}.ant-statistic-content-value{letter-spacing:0}.ant-tag{border-radius:4px!important}.ant-card-head{border-bottom-color:var(--border-color)!important;min-height:42px!important}.ant-card-head-title{font-size:14px!important;font-weight:600!important;padding:10px 0!important}.ant-layout-content{padding:16px!important}.app-main-layout{min-width:0;background:#f3f5f8}.app-content-shell.ant-layout-content{padding:0!important;min-width:0}.app-topnav-reveal{position:fixed;top:0;right:0;height:14px;border:0;padding:0;z-index:101;cursor:pointer;background:linear-gradient(180deg,#fffffff2,#ffffff3d);transition:left .3s cubic-bezier(.4,0,.2,1),height .2s ease,background .2s ease}.app-topnav-reveal span{display:block;width:72px;height:4px;margin:4px auto 0;border-radius:999px;background:#aeb8c7;box-shadow:0 1px 4px #0f172a24}.app-topnav-reveal:hover span{background:#1677ff}.app-topnav-reveal.is-open{height:4px;background:transparent}.app-topnav-reveal.is-open span{margin-top:0;opacity:0}.app-topnav{border-bottom:1px solid rgba(15,23,42,.08)}.app-page-body{min-width:0}.app-page-body .page-header,.app-page-body .block-header{background:#fff;border:1px solid #e8edf3;border-radius:8px;padding:14px 16px;box-shadow:0 1px 3px #0f172a0a}.app-page-body .ant-card{border-radius:8px;border-color:#e8edf3}.page-card{background:#fff;border-radius:8px;padding:24px;margin-bottom:16px;box-shadow:var(--card-shadow)}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;padding:20px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card.success{background:linear-gradient(135deg,#11998e,#38ef7d)}.stat-card.warning{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.info{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-label{font-size:14px;opacity:.9;margin-bottom:8px}.stat-value{font-size:28px;font-weight:600}.stat-trend{font-size:12px;margin-top:8px;opacity:.8}.stat-trend.up{color:#b7eb8f}.stat-trend.down{color:#ff7875}.tag带货{background:#e6f4ff;color:#1677ff;padding:2px 8px;border-radius:4px;font-size:12px}.tag短剧{background:#fff7e6;color:#fa8c16;padding:2px 8px;border-radius:4px;font-size:12px}.tag个人号{background:#f6ffed;color:#52c41a;padding:2px 8px;border-radius:4px;font-size:12px}.tag企业号{background:#fff1f0;color:#ff4d4f;padding:2px 8px;border-radius:4px;font-size:12px}.status启用{color:#52c41a}.status禁用{color:#ff4d4f}.status投放中{color:#1677ff}.status暂停{color:#faad14}.status结束{color:#8c8c8c}.profit-hidden{color:transparent;background:linear-gradient(90deg,#d9d9d9,#f5f5f5,#d9d9d9);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;-webkit-user-select:none;user-select:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.profit-masked:before{content:"******";color:#8c8c8c}.risk-green{color:#52c41a}.risk-yellow{color:#faad14}.risk-orange{color:#fa8c16}.risk-red{color:#ff4d4f}.ant-table-wrapper{background:#fff;border-radius:8px;overflow:hidden}.ant-form-item{margin-bottom:20px}.button-group{display:flex;gap:8px}.filter-bar{background:#fff;padding:16px 24px;border-radius:8px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.empty-state{text-align:center;padding:60px 20px;color:#8c8c8c}.empty-state svg{font-size:64px;margin-bottom:16px;opacity:.5}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:9999}
