:root{--bg: #fafafa;--bg-deep: #f4f4f5;--surface: #ffffff;--surface-soft: #fafafa;--surface-muted: #f4f4f5;--fg: #3f3f46;--fg-strong: #18181b;--muted: #71717a;--subtle: #a1a1aa;--line: #e4e4e7;--border: #e4e4e7;--border-soft: #ededf0;--border-strong: #d4d4d8;--hairline: #f4f4f5;--divider: var(--border-soft);--accent: #22c55e;--accent-strong: #16a34a;--accent-soft: rgba(34, 197, 94, .12);--accent-faint: rgba(34, 197, 94, .06);--primary: var(--accent);--success: #22c55e;--success-soft: rgba(34, 197, 94, .12);--warning: #b7791f;--warning-soft: rgba(183, 121, 31, .12);--danger: #c2412d;--danger-soft: rgba(194, 65, 45, .11);--violet: #6f5fb7;--info: #2563eb;--info-soft: rgba(37, 99, 235, .1);--ink: var(--fg);--shadow-xs: 0 1px 0 rgba(24, 24, 27, .03);--shadow-sm: 0 1px 2px rgba(24, 24, 27, .05);--shadow-md: 0 4px 12px rgba(24, 24, 27, .06);--shadow-lg: 0 12px 28px rgba(24, 24, 27, .1);--shadow: var(--shadow-sm);--shadow-soft: var(--shadow-xs);--shadow-card: var(--shadow-sm);--radius-xs: 4px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 8px;--radius-2xl: 12px;--radius-pill: 999px;--card-radius: var(--radius-lg);--sidebar: 190px;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--fs-3xs: 10px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", system-ui, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Monaco, monospace;--accent-main: var(--accent);--accent-main-soft: var(--accent-soft);--accent-fee: var(--warning);--accent-fee-soft: var(--warning-soft);--accent-purple: var(--violet);--accent-teal: var(--accent);--text-primary: var(--fg);--text-secondary: var(--muted);--text-tertiary: var(--subtle);--bg-elevated: var(--surface);--bg-subtle: var(--surface-soft);--font-h2: var(--fs-md);--font-stat: var(--fs-xl);--font-label: var(--fs-xs);--font-caption: var(--fs-xs)}*{box-sizing:border-box}html{min-width:0;background:var(--bg)}body{margin:0;min-width:0;color:var(--fg);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1400px 700px at 120% -20%,rgba(34,197,94,.035),transparent 55%),radial-gradient(1000px 600px at -10% 120%,rgba(175,82,222,.025),transparent 55%),linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%);background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}h1,h2,h3,h4{font-family:var(--font-display);margin:0;color:var(--fg-strong);letter-spacing:-.02em;text-wrap:balance;font-weight:600}p{margin:0;text-wrap:pretty}.num,.metric-value,.chart-axis,.time,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:#22c55e2e}.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:32px 22px;display:flex;flex-direction:column;gap:var(--sp-8);background:#ffffffb8;backdrop-filter:saturate(200%) blur(32px);-webkit-backdrop-filter:saturate(200%) blur(32px);border-right:1px solid var(--border-soft)}.brand{display:flex;align-items:center;gap:var(--sp-3);font:700 20px/1 var(--font-display);letter-spacing:-.03em;color:var(--fg-strong);padding:4px 6px 8px}.brand-mark{width:32px;height:32px;flex:0 0 32px;border-radius:var(--radius-md);display:grid;place-items:center;color:var(--accent-strong);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 18%,transparent)}.brand-mark svg{width:19px;height:19px;stroke-width:1.8}.sidebar-refresh{width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 14px;margin-bottom:var(--sp-1);border-radius:var(--radius-lg);height:auto;font-size:var(--fs-base);font-weight:var(--fw-medium);letter-spacing:-.01em;transition:color .15s ease,background .15s ease,border-color .15s ease}.sidebar-refresh svg{width:16px;height:16px;display:inline-grid;place-items:center;flex:0 0 16px}.sidebar-refresh .refresh-text{display:inline}.nav{display:grid;gap:3px}.nav a{position:relative;min-height:40px;display:flex;align-items:center;gap:var(--sp-3);padding:0 14px;border-radius:var(--radius-lg);color:var(--muted);font-size:var(--fs-base);font-weight:500;letter-spacing:-.01em;transition:color .15s ease,background .15s ease}.nav a svg,.nav-letter{width:18px;height:18px;display:inline-grid;place-items:center;flex:0 0 18px}.nav-letter{border-radius:var(--radius-md);background:color-mix(in oklch,currentColor 12%,transparent);font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:1}.nav a svg{stroke-width:1.7;opacity:.8}.nav a:hover{color:var(--fg-strong);background:#0000000a}.nav a.active{color:var(--fg-strong);background:var(--accent-soft);font-weight:600}.nav a.active svg{color:var(--accent);opacity:1}.nav a.active:before{content:"";position:absolute;left:-20px;top:9px;bottom:9px;width:3px;border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:var(--accent)}.user-card{margin-top:auto;background:#ffffff8c;border:1px solid var(--border-soft);border-radius:var(--radius-2xl);padding:14px;backdrop-filter:blur(12px);box-shadow:var(--shadow-xs)}.user-main{display:flex;align-items:center;gap:var(--sp-3);padding-bottom:12px;border-bottom:1px solid var(--border-soft)}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#e8e8ed,#d2d2d7);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1.5px #fff9}.avatar:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;left:11px;top:7px;background:#c7c7cc}.avatar:after{content:"";position:absolute;width:28px;height:16px;border-radius:50% 50% 0 0;left:4px;bottom:-2px;background:#aeaeb2}.user-name{font-weight:600;font-size:var(--fs-base);color:var(--fg-strong)}.user-role{color:var(--muted);font-size:var(--fs-xs);margin-top:1px}.user-actions{display:flex;gap:var(--sp-2);padding-top:11px}.icon-btn,.ghost-btn{height:36px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--radius-lg);display:inline-grid;place-items:center;font-size:var(--fs-sm);transition:color .15s ease,border-color .15s ease,background .15s ease,transform .1s ease}.icon-btn{width:36px}.icon-btn svg,.ghost-btn svg{width:16px;height:16px}.icon-btn:hover,.ghost-btn:hover{color:var(--accent);border-color:#22c55e59;background:var(--accent-faint)}.icon-btn:active,.ghost-btn:active{transform:scale(.97)}.primary-btn,.secondary-btn,.danger-btn,.icon-btn,.ghost-btn,.top-icon,.period,.search,.inline-field,.ant-btn.primary-btn,.ant-btn.secondary-btn,.ant-input.search,.ant-select.select .ant-select-selector{border-radius:var(--radius-md);height:36px;padding:0 var(--sp-5);display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:0;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.primary-btn,.ant-btn.primary-btn{border:none;background:var(--accent);color:#fff}.primary-btn:hover,.ant-btn.primary-btn:hover{background:var(--accent-strong);color:#fff}.secondary-btn,.ant-btn.secondary-btn,.icon-btn,.ghost-btn,.top-icon,.period,.search,.inline-field,.ant-select.select .ant-select-selector{border:1px solid var(--border);background:var(--surface);color:var(--fg-strong)}.secondary-btn:hover,.ant-btn.secondary-btn:hover,.icon-btn:hover,.ghost-btn:hover{border-color:color-mix(in oklch,var(--accent) 38%,var(--border));background:var(--accent-faint);color:var(--accent)}.secondary-btn.danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.secondary-btn.danger:hover{border-color:var(--danger);color:#fff;background:var(--danger)}.primary-btn:disabled,.secondary-btn:disabled,.ant-btn.primary-btn:disabled,.ant-btn.secondary-btn:disabled,.actions button:disabled{cursor:not-allowed;opacity:.52;color:var(--subtle);background:var(--surface-muted);border-color:var(--border-soft);box-shadow:none}.primary-btn svg,.secondary-btn svg{width:16px;height:16px}.content{min-width:0;padding:28px 36px 60px;width:100%;max-width:1640px}.route-loading{min-height:320px;display:grid;place-items:center;color:var(--muted);font-size:var(--fs-sm)}.page-route-skeleton{display:grid;gap:var(--sp-5);animation:fade-in .16s ease-out}.page-route-skeleton__hero,.page-route-skeleton__grid span,.page-route-skeleton__panel,.page-route-skeleton__panel i{border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--surface-muted) 0%,rgba(128,128,128,.1) 50%,var(--surface-muted) 100%);background-size:220% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.page-route-skeleton__hero{height:82px}.page-route-skeleton__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}.page-route-skeleton__grid span{height:112px;border:1px solid var(--border-soft)}.page-route-skeleton__panel{min-height:360px;padding:22px;border:1px solid var(--border-soft);background-color:var(--surface)}.page-route-skeleton__panel i{display:block;height:18px;margin-bottom:16px}.page-route-skeleton__panel i:nth-child(1){width:38%}.page-route-skeleton__panel i:nth-child(2){width:72%}.page-route-skeleton__panel i:nth-child(3){width:58%}.page-route-skeleton__panel i:nth-child(4){height:210px;width:100%;margin-top:20px}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.shell.hc-shell{min-height:100vh}.content.hc-content{max-width:none;width:100%}.hc-content-inner{width:100%;max-width:min(1640px,100%)}.lite-chart{display:grid;grid-template-columns:58px minmax(0,1fr);gap:var(--sp-2);align-items:stretch;padding-top:8px}.lite-chart-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:var(--subtle);font:600 11px/1 var(--font-mono);padding:4px 0 22px}.lite-chart-svg{width:100%;height:100%;min-height:180px;overflow:visible}.lite-chart-svg.selectable{cursor:crosshair;touch-action:none}.lite-chart-grid{stroke:var(--border-soft);stroke-width:1;stroke-dasharray:4 6}.lite-chart-main,.lite-chart-fee,.lite-chart-offline{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.lite-chart-main{stroke:var(--accent);stroke-width:3}.lite-chart-fee,.lite-chart-offline{stroke-width:2.2;stroke-dasharray:7 7}.lite-chart-fee{stroke:var(--warning)}.lite-chart-offline{stroke:var(--danger)}.lite-chart-area{stroke:none;pointer-events:none}:root:not([data-theme=dark]) .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-dangerous){background:var(--accent-strong);border-color:var(--accent-strong)}:root:not([data-theme=dark]) .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-dangerous):hover{background:var(--accent);border-color:var(--accent)}.lite-chart-empty{display:grid;place-items:center;color:var(--subtle);font-size:var(--fs-sm)}.lite-chart-cursor{stroke:var(--text-tertiary, var(--subtle));stroke-width:1.4;stroke-dasharray:3 4;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.85}.lite-chart-dot{vector-effect:non-scaling-stroke;pointer-events:none;stroke:var(--bg-elevated, #fff);stroke-width:1.5}.lite-chart-dot.lite-chart-main{fill:var(--success)}.lite-chart-dot.lite-chart-fee{fill:var(--warning)}.lite-chart-dot.lite-chart-offline{fill:var(--danger)}.trend-hover-tooltip{position:fixed;z-index:50;min-width:180px;max-width:280px;padding:var(--sp-3);border:1px solid var(--border-soft);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow-lg);pointer-events:none}.trend-hover-time{font:600 12px/1 var(--font-mono);color:var(--muted);margin-bottom:8px}.trend-hover-body{display:grid;gap:8px}.trend-hover-section+.trend-hover-section{padding-top:8px;border-top:1px solid var(--border-soft)}.trend-hover-section-title{font-size:var(--fs-2xs);color:var(--subtle);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.trend-hover-section-list{display:grid;gap:3px}.trend-hover-entry{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:var(--fs-xs)}.trend-hover-entry-dot{width:8px;height:8px;border-radius:50%}.trend-hover-entry-dot.main{background:var(--accent)}.trend-hover-entry-dot.fee{background:var(--warning)}.trend-hover-entry-dot.offline{background:var(--danger)}.trend-hover-entry-label{color:var(--muted)}.trend-hover-entry-value{color:var(--fg-strong);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.toast{position:fixed;right:28px;bottom:28px;z-index:20;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s cubic-bezier(.2,.8,.2,1);background:#1d1d1fe0;color:#fff;border-radius:var(--radius-2xl);padding:14px 20px;box-shadow:var(--shadow-lg);font-size:var(--fs-base);font-weight:500;letter-spacing:-.01em;backdrop-filter:blur(16px)}.toast.show{opacity:1;transform:translateY(0)}.hc-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 520px at 80% -10%,rgba(34,197,94,.16),transparent 60%),linear-gradient(135deg,#f5f5f7,#fff)}.hc-login-card.ant-card{width:min(420px,100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.hc-login-brand{text-align:center;margin-bottom:24px}.hc-login-mark{width:64px;height:64px;margin:0 auto 16px;border-radius:var(--radius-2xl);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--accent),#4ade80);color:#fff;font:800 28px/1 var(--font-display);box-shadow:0 10px 30px #22c55e3d}:root[data-theme=dark] .hc-login-page{background:radial-gradient(900px 520px at 80% -10%,rgba(34,197,94,.18),transparent 60%),linear-gradient(135deg,#111318,#1a2032)}:root[data-theme=dark]{--bg: #18181b;--bg-deep: #0f0f12;--surface: #27272a;--surface-soft: #2e2e32;--surface-muted: #2e2e32;--fg: #e4e4e7;--fg-strong: #fafafa;--muted: #a1a1aa;--subtle: #71717a;--line: #3f3f46;--border: #3f3f46;--border-soft: #2e2e32;--border-strong: #52525b;--hairline: #2e2e32;--accent: #4ade80;--accent-strong: #22c55e;--accent-soft: rgba(74, 222, 128, .14);--accent-faint: rgba(74, 222, 128, .07);--success: #4ade80;--success-soft: rgba(74, 222, 128, .14);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--info: #8ab4ff;--info-soft: rgba(138, 180, 255, .16);--shadow-xs: 0 1px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .5)}:root[data-theme=dark] .sidebar{background:#18181bb8}:root[data-theme=dark] .nav a:hover{background:#ffffff0d}:root[data-theme=dark] .user-card{background:#27272a8c}:root[data-theme=dark] .avatar{background:linear-gradient(145deg,#3f3f46,#27272a)}:root[data-theme=dark] .avatar:before{background:#52525b}:root[data-theme=dark] .avatar:after{background:#3f3f46}:root[data-theme=dark] .toast{background:#18181beb}@media (max-width: 960px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 16px;gap:var(--sp-3)}.nav{flex:1 1 100%;grid-auto-flow:column;overflow-x:auto}.user-card{margin-top:0}.content{padding:16px}}
