@charset "UTF-8";@font-face{font-family:Urbanist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/urbanist-latin-ext-wght-normal-OHO3NY6G.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Urbanist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/urbanist-latin-wght-normal-HLKQ3ZSU.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pulse-blue-300: #4dbdEB;--pulse-blue-400: #00a0df;--pulse-blue-500: #0078bf;--pulse-blue-600: #00569a;--pulse-blue-700: #003f73;--pulse-gradient: linear-gradient(135deg, #00a0df 0%, #00569a 100%);--pulse-gray-300: #c4c5c7;--pulse-gray-400: #a3a5a8;--pulse-gray-500: #7f8183;--pulse-charcoal: #2c2e35;--bg: #f4f6f9;--surface: #ffffff;--surface-2: #eef1f5;--border: #dde2e9;--text: #2c2e35;--text-muted: #7f8183;--shadow: 0 2px 12px rgba(44, 46, 53, .08);--radius: 14px;--sidebar-w: 240px;--s-page: #f4f6f9;--s-card: #ffffff;--s-raised: #ffffff;--s-sunken: #eef1f5;--s-hover: #f1f5f9;--s-selected: rgba(99, 102, 241, .08);--b-subtle: #eef1f5;--b-default: #dde2e9;--b-strong: #c9d1dc;--b-active: var(--nav-primary);--t-primary: #1e293b;--t-secondary: #475569;--t-muted: #7f8183;--t-disabled: #aab2bd;--t-inverse: #ffffff;--st-success: #12855e;--st-success-soft: rgba(18, 133, 94, .12);--st-warning: #b57d00;--st-warning-soft: rgba(181, 125, 0, .13);--st-danger: #d9534f;--st-danger-soft: rgba(217, 83, 79, .12);--st-info: #1a72c9;--st-info-soft: rgba(26, 114, 201, .12);--sh-subtle: 0 1px 2px rgba(15, 23, 42, .04);--sh-card: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--sh-raised: 0 6px 16px -6px rgba(15, 23, 42, .14), 0 2px 6px -2px rgba(15, 23, 42, .06);--sh-overlay: 0 16px 40px -12px rgba(15, 23, 42, .24);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-pill: 999px;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--m-fast: .15s;--m-normal: .28s;--m-slow: .6s;--m-ease: cubic-bezier(.4, 0, .2, 1);--m-out: cubic-bezier(.33, 1, .68, 1);--nav-primary: #6366f1;--nav-secondary: #06b6d4;--nav-accent: #8b5cf6;--nav-danger: #ef4444;--nav-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 55%, #06b6d4 100%);--nav-surface: #ffffff;--nav-border: #e2e8f0;--nav-text: #1e293b;--nav-text-dim: #64748b;--nav-label: #6366f1;--nav-icon: #64748b;--nav-hover: #f1f5f9;--nav-account-bg: #f8fafc;--nav-tooltip-bg: #1e293b;--nav-danger-soft: rgba(239, 68, 68, .1);--nav-glow: rgba(99, 102, 241, .45)}[data-theme=dark]{--s-page: #0b0f14;--s-card: #121826;--s-raised: #18202f;--s-sunken: #0e131c;--s-hover: rgba(148, 163, 184, .08);--s-selected: rgba(99, 102, 241, .16);--b-subtle: #161f2e;--b-default: #1e293b;--b-strong: #2c3a4f;--t-primary: #f8fafc;--t-secondary: #cbd5e1;--t-muted: #94a3b8;--t-disabled: #64748b;--st-success: #34d399;--st-success-soft: rgba(52, 211, 153, .14);--st-warning: #fbbf24;--st-warning-soft: rgba(251, 191, 36, .14);--st-danger: #f87171;--st-danger-soft: rgba(248, 113, 113, .14);--st-info: #60a5fa;--st-info-soft: rgba(96, 165, 250, .14);--sh-subtle: 0 1px 2px rgba(0, 0, 0, .3);--sh-card: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--sh-raised: 0 8px 20px -8px rgba(0, 0, 0, .6), 0 2px 6px -2px rgba(0, 0, 0, .4);--sh-overlay: 0 18px 44px -14px rgba(0, 0, 0, .7);--nav-surface: #121826;--nav-border: #1e293b;--nav-text: #f8fafc;--nav-text-dim: #94a3b8;--nav-label: #818cf8;--nav-icon: #94a3b8;--nav-hover: rgba(148, 163, 184, .1);--nav-account-bg: rgba(148, 163, 184, .05);--nav-tooltip-bg: #1e293b;--nav-danger-soft: rgba(239, 68, 68, .14);--nav-glow: rgba(99, 102, 241, .5)}[data-theme=dark] .tip{background:#0b0f14}:root{--series-1: #1a72c9;--series-2: #c25a12;--series-3: #0d8fa0;--series-4: #6b45cf;--series-5: #12855e;--chart-grid: #e4e7ec;--chart-muted: #898781}[data-theme=dark]{--series-1: #2b8ae6;--series-2: #d9691c;--series-3: #12a8b8;--series-4: #8257e5;--series-5: #1a9e6f;--chart-grid: #2e333d;--chart-muted: #7c8595}[data-theme=dark]{--bg: #0b0f14;--surface: #121826;--surface-2: #1a2233;--border: #1e293b;--text: #f8fafc;--text-muted: #94a3b8;--shadow: 0 2px 16px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body{height:100%}html{background:var(--bg)}body{margin:0;font-family:Urbanist Variable,Urbanist,Segoe UI,system-ui,sans-serif;font-optical-sizing:auto;font-synthesis:none;-webkit-font-smoothing:antialiased;letter-spacing:-.006em;background:var(--bg);color:var(--text);transition:background .25s ease,color .25s ease}h1,h2,h3{font-weight:800;letter-spacing:-.02em}.card{background:var(--s-card);border:1px solid var(--b-default);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:var(--sp-5);transition:box-shadow var(--m-fast) var(--m-ease),border-color var(--m-fast) var(--m-ease)}.card--interactive:hover{box-shadow:var(--sh-raised);border-color:var(--b-strong)}.skeleton-block{background:linear-gradient(90deg,var(--s-sunken) 25%,var(--s-hover) 37%,var(--s-sunken) 63%);background-size:400% 100%;border-radius:var(--r-sm);animation:skeleton-sweep 1.4s ease-in-out infinite}@keyframes skeleton-sweep{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.btn{display:inline-flex;align-items:center;gap:.5rem;border:none;border-radius:10px;padding:.6rem 1.1rem;font-weight:700;font-size:.9rem;cursor:pointer;color:#fff;background:var(--pulse-gradient);transition:transform .15s ease,filter .15s ease}.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}@keyframes card-pulse{0%{box-shadow:0 0 #00a0df73}to{box-shadow:0 0 0 18px #00a0df00}}.pulse-once{animation:card-pulse .9s ease-out 1}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:8px;min-height:1em;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;color:transparent}@keyframes route-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.route-container>*{display:block;animation:route-in .3s ease}.card:has(>table),.card:has(>.table-scroll),.table-card,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.card table{min-width:max-content}
