:root{--profit-color: #52c41a;--loss-color: #ff4d4f;--primary-color: #1890ff;--primary-light: #40a9ff;--bg-color: #f0f2f5;--card-bg: #ffffff;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--border-color: #e8e8e8;--shenzhen-tag: #1890ff;--other-tag: #52c41a;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12)}*{box-sizing:border-box}body{margin:0;font-family:PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-color);color:var(--text-primary);font-size:14px;line-height:1.5}#root{min-height:100vh}.ant-card{box-shadow:var(--shadow-sm);border-radius:var(--radius-md);border:none}.ant-card-small{border-radius:var(--radius-md)}.ant-table-wrapper{overflow-x:auto}.ant-table-thead>tr>th{font-weight:600;background:#fafafa}@media screen and (max-width: 768px){body{font-size:13px;background:var(--bg-color)}.ant-card-body{padding:var(--spacing-sm)}.ant-card-head-title{font-size:13px!important;font-weight:600}.ant-statistic-title{font-size:10px!important;color:var(--text-tertiary)}.ant-statistic-content-value{font-size:14px!important;font-weight:600;word-break:break-all}.kpi-card{min-width:calc(50% - 6px)!important;max-width:100%!important;flex:1 1 calc(50% - 6px)!important}.kpi-card-label{font-size:10px;white-space:normal!important;word-break:break-all;line-height:1.3}.kpi-card-value{font-size:13px!important;white-space:normal!important;word-break:break-all;line-height:1.2}.ant-table{font-size:11px}.ant-table-thead>tr>th{font-size:10px;padding:6px 4px}.ant-table-tbody>tr>td{padding:6px 4px}.recharts-text,.recharts-cartesian-axis-tick-value{font-size:10px!important}.ant-select{max-width:100%}}.store-card{background:var(--card-bg);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-sm);border-left:4px solid var(--profit-color);transition:box-shadow .2s ease}.store-card:hover{box-shadow:var(--shadow-md)}.store-card.loss{border-left-color:var(--loss-color)}.store-card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;word-break:break-all}.store-card-sub{font-size:11px;color:var(--text-tertiary);margin-bottom:8px}.store-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;font-size:12px}.store-card-label{color:var(--text-tertiary)}.store-card-value{font-weight:600;color:var(--text-primary)}.store-card-value.positive{color:var(--profit-color)}.store-card-value.negative{color:var(--loss-color)}.kpi-card{background:var(--card-bg);border-radius:var(--radius-md);padding:var(--spacing-md);min-width:110px;max-width:160px;flex:1 1 110px;box-shadow:var(--shadow-sm);overflow:hidden}.kpi-card-label{font-size:11px;color:var(--text-tertiary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-card-value{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-card-change{font-size:11px;margin-top:2px}.kpi-card-change.positive{color:var(--profit-color)}.kpi-card-change.negative{color:var(--loss-color)}.tag-shenzhen{background:#1890ff1a;color:var(--shenzhen-tag);border:none;font-size:11px}.tag-other{background:#52c41a1a;color:var(--other-tag);border:none;font-size:11px}.month-card{background:var(--card-bg);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-sm);border-left:4px solid var(--profit-color)}.month-card.loss{border-left-color:var(--loss-color)}.month-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.month-card-title{font-size:14px;font-weight:600}.month-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:12px}.app-header{background:var(--primary-color);padding:12px 16px;color:#fff}.app-header-title{font-size:16px;font-weight:600;color:#fff}.text-profit{color:var(--profit-color)}.text-loss{color:var(--loss-color)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}
