*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{text-size-adjust:100%;width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%}#app{width:100%;height:100%}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{color:#374151;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:14px;line-height:1.5715}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}a{color:#6366f1;text-decoration:none;transition:color .2s}a:hover{color:#4f46e5}a:active{color:#4338ca}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-ellipsis-2{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.ml-8{margin-left:8px}.ml-16{margin-left:16px}.mr-8{margin-right:8px}.mr-16{margin-right:16px}.p-8{padding:8px}.p-16{padding:16px}.p-24{padding:24px}.change-up{color:#10b981}.change-down{color:#ef4444}.change-neutral{color:#6b7280}.status-tag{border-radius:6px;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.status-tag.status-success{color:#10b981;background-color:#10b9811a}.status-tag.status-warning{color:#f59e0b;background-color:#f59e0b1a}.status-tag.status-error{color:#ef4444;background-color:#ef44441a}.status-tag.status-info{color:#3b82f6;background-color:#3b82f61a}.status-tag.status-default{color:#6b7280;background-color:#f3f4f6}.page-container{min-height:100%;padding:24px}@media screen and (max-width:768px){.page-container{padding:16px}}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header .card-title{color:#111827;font-size:16px;font-weight:600}.card-header .card-extra{align-items:center;gap:8px;display:flex}.empty-state{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state .empty-icon{color:#9ca3af;margin-bottom:16px;font-size:48px}.empty-state .empty-text{font-size:14px}.loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}@media screen and (max-width:768px){*{-webkit-tap-highlight-color:transparent}input,textarea,select{font-size:16px}}@media (max-width:768px){.hide-on-mobile{display:none}}@media (min-width:769px){.hide-on-desktop{display:none}}.show-on-mobile{display:none}@media (max-width:768px){.show-on-mobile{display:block}}.show-on-mobile-flex{display:none}@media (max-width:768px){.show-on-mobile-flex{display:flex}}@media screen and (max-width:768px){.layout-sider-mask{-webkit-backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;background:#0000004d;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;right:0}.layout-sider-mask.visible{opacity:1;visibility:visible}.layout-sider{z-index:1000;box-shadow:none;will-change:transform;background:#fff;border-right:1px solid #e5e7eb;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;right:auto;transform:translate(-100%)}.layout-sider.mobile-visible{transform:translate(0)}.layout-header{width:100%;box-shadow:none;z-index:99;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 16px;position:fixed;top:0;left:0}.layout-content,.layout-footer{background:#f9fafb;margin-left:0}.page-container,.dashboard-container{background:0 0;padding:16px}.page-container .dashboard-header,.dashboard-container .dashboard-header{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:stretch;gap:12px;padding:12px}.page-container .dashboard-header .header-left,.dashboard-container .dashboard-header .header-left,.page-container .dashboard-header .header-right,.dashboard-container .dashboard-header .header-right{width:100%}.page-container .dashboard-header .header-right,.dashboard-container .dashboard-header .header-right{flex-wrap:wrap;gap:8px}.page-container .dashboard-header .header-right .ant-btn,.dashboard-container .dashboard-header .header-right .ant-btn{min-width:80px;box-shadow:none;border-radius:6px;flex:1}.ant-card{box-shadow:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.ant-card .ant-card-head{border-bottom:1px solid #e5e7eb;min-height:48px;padding:0 16px}.ant-card .ant-card-head .ant-card-head-title{color:#111827;padding:12px 0;font-size:14px;font-weight:600}.ant-card .ant-card-body{padding:16px}.ant-table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.ant-table-wrapper .ant-table{min-width:600px;font-size:13px}.ant-table-wrapper .ant-table .ant-table-thead>tr>th{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 8px}.ant-table-wrapper .ant-table .ant-table-tbody>tr>td{border-bottom:1px solid #f3f4f6;padding:12px 8px}.ant-form-item{margin-bottom:16px}.ant-select-selector,.ant-picker,.ant-input,.ant-btn{min-height:40px;box-shadow:none;border-radius:6px}.ant-modal{max-width:calc(100vw - 32px);margin:16px}.ant-modal .ant-modal-content{border-radius:12px;box-shadow:0 4px 24px #0000001f}}@media screen and (max-width:576px){.metrics-row .ant-col{flex:0 0 50%;max-width:50%}}@media screen and (max-width:480px){.dashboard-container .realtime-row .ant-col{flex:0 0 100%;max-width:100%}}@media screen and (min-width:768px) and (max-width:992px){.layout-sider{width:200px}}.responsive-padding{padding:24px}@media (max-width:768px){.responsive-padding{padding:16px}.flex-mobile-column{flex-direction:column;gap:12px}.full-width-mobile{width:100%}}
