*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;background:#f5f5f5}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 2px #0000000f;transition:box-shadow .3s}.stat-card:hover{box-shadow:0 4px 12px #0000001a}.page-container{padding:24px;background:#f5f5f5;min-height:calc(100vh - 64px)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li{background:linear-gradient(90deg,#0000000f 25%,#0000001a 37%,#0000000f 63%);background-size:400% 100%;animation:skeleton-loading 1.4s ease infinite}.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton-active .ant-skeleton-button,.ant-skeleton-active .ant-skeleton-input{background:linear-gradient(90deg,#0000000f 25%,#0000001a 37%,#0000000f 63%);background-size:400% 100%;animation:skeleton-loading 1.4s ease infinite}.skeleton-wrapper{width:100%}.page-fade-enter{opacity:0;transform:translateY(10px)}.page-fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.stat-card-loading{position:relative;overflow:hidden}.stat-card-loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.chart-skeleton-placeholder{background:linear-gradient(180deg,#f5f5f5,#fafafa,#f5f5f5);border-radius:4px;position:relative;overflow:hidden}.chart-skeleton-placeholder:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(0,0,0,.02) 40px,rgba(0,0,0,.02) 41px)}.network-status-indicator{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:10px;font-size:11px;transition:all .3s ease}.network-status-indicator.online{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.network-status-indicator.offline{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7;animation:pulse-red 2s infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.7}}.refresh-spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-retry-btn{transition:all .3s ease}.error-retry-btn:hover{transform:scale(1.02)}.data-update-flash{animation:flash-update .5s ease}@keyframes flash-update{0%,to{background-color:transparent}50%{background-color:#52c41a1a}}.highlight-pending-row>td{background-color:#fffbe6!important}.highlight-pending-row:hover>td{background-color:#fff1b8!important}.ant-table-thead>tr>th{white-space:nowrap!important}
