@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00000040}::-webkit-scrollbar-track{background:transparent}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--login-bg, linear-gradient(135deg, #f5f7fa 0%, #e4e9f2 100%));position:relative}.login-card{position:relative;z-index:1;width:400px;max-width:90vw;border-radius:16px!important;box-shadow:0 12px 40px #00000014!important}.page-container{display:flex;flex-direction:column;gap:20px;padding-bottom:env(safe-area-inset-bottom,0px)}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.page-title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.02em}.page-title-icon{font-size:20px;opacity:.6}.page-title-count{font-size:12px;font-weight:600;padding:2px 10px;border-radius:20px;background:var(--count-bg, rgba(22,119,255,.08));color:var(--count-color, #1677ff)}.page-card{background:var(--card-bg, #fff);border-radius:8px;border:1px solid var(--border, rgba(0,0,0,.06));overflow:hidden}.sidebar-logo{height:64px;display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;white-space:nowrap;padding:0 16px;border-bottom:1px solid var(--border, rgba(0,0,0,.06));margin-bottom:4px}.sidebar-logo-icon{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#1677ff,#4096ff);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px;flex-shrink:0;box-shadow:0 2px 8px #1677ff40}.sidebar-logo-text{font-size:16px;font-weight:700;letter-spacing:-.02em;color:#1677ff}.ant-menu-item-group-title{font-size:12px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.03em;padding-left:20px!important;color:var(--text-secondary, rgba(0,0,0,.45))!important;margin-top:6px!important}.ant-layout-sider .ant-menu-item,.mobile-sidebar-drawer .ant-menu-item{margin:1px 8px!important;border-radius:8px!important;height:40px!important;line-height:40px!important}.ant-layout-sider .ant-menu-item-selected,.mobile-sidebar-drawer .ant-menu-item-selected{font-weight:600}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;padding-top:env(safe-area-inset-top,0px);height:calc(56px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border, rgba(0,0,0,.06));position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-header-actions{display:flex;align-items:center;gap:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.stat-item{border-radius:8px!important;border:1px solid var(--border, rgba(0,0,0,.06))!important;background:var(--card-bg, #fff)!important;transition:box-shadow .2s}.stat-item:hover{box-shadow:0 2px 12px #0000000f!important}.stat-item .ant-statistic-title{font-size:13px;font-weight:500;color:var(--text-secondary, rgba(0,0,0,.45))!important}.stat-item .ant-statistic-content-value{font-weight:700;font-size:24px}.chart-card{border-radius:8px!important;border:1px solid var(--border, rgba(0,0,0,.06))!important;background:var(--card-bg, #fff)!important}.chart-card .ant-card-head{border-bottom:1px solid var(--border, rgba(0,0,0,.06));min-height:auto;padding:12px 20px}.chart-card .ant-card-head-title{font-size:14px;font-weight:600}.chart-card .ant-card-body{padding:16px 20px}.node-status{display:inline-flex;align-items:center;gap:6px}.node-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.node-status-dot.online{background:#52c41a;box-shadow:0 0 6px #52c41a66}.node-status-dot.idle{background:#faad14;box-shadow:0 0 6px #faad144d}.node-status-dot.offline{background:#ff4d4f;box-shadow:0 0 6px #ff4d4f4d}.node-status-dot.unknown{background:#d9d9d9}.node-child-row td{background:var(--child-bg, #fafafa)!important}.node-child-row:hover td{background:var(--child-bg-hover, #f0f5ff)!important}[data-theme=dark] .node-child-row td{background:#ffffff05!important}[data-theme=dark] .node-child-row:hover td{background:#ffffff0d!important}[data-theme=dark]{--login-bg: linear-gradient(135deg, #141414 0%, #1a1a2e 100%);--card-bg: #141414;--border: rgba(255,255,255,.08);--child-bg: rgba(255,255,255,.02);--text-secondary: rgba(255,255,255,.45);--text-tertiary: rgba(255,255,255,.25);--count-bg: rgba(22,119,255,.15);--count-color: #4096ff}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff26}@keyframes row-flash{0%{background:#1677ff26}to{background:transparent}}.node-highlight-row td{animation:row-flash 2s ease-out!important}.editable-sort-value:hover{background:#0000000f}[data-theme=dark] .editable-sort-value:hover{background:#ffffff14}.mobile-sidebar-drawer .ant-drawer-body{overflow-y:auto;padding-top:env(safe-area-inset-top,0px)}@media(max-width:768px){body{font-size:14px}.page-container{gap:12px}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.page-title,.page-title-icon{font-size:17px}.admin-header{padding:0 12px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-item .ant-statistic-content-value{font-size:18px}.chart-card .ant-card-body{padding:12px}.chart-card .ant-card-head{padding:10px 12px}.rank-table-compact .ant-table-cell{font-size:12px;padding:6px 4px!important}.ant-table-cell-fix-right{box-shadow:-4px 0 8px #00000014!important}.ant-card-body{padding:12px!important}.ant-card-head{padding:0 12px!important}.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px auto!important}.ant-modal-body{padding:12px!important;max-height:70vh;overflow-y:auto}.ant-drawer-content-wrapper{max-width:100vw!important}.ant-form-item{margin-bottom:12px}.ant-space-wrap{flex-wrap:wrap}}@media(max-width:480px){.stat-grid{grid-template-columns:1fr}.login-card{margin:16px}}
