@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2-variations"),url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2-variations"),url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#000;--surface:#0a0a0a;--card:#0f0f10;--card-soft:#161618;--foreground:#fafafa;--foreground-strong:#fff;--muted-foreground:#8b8b8b;--border:#ffffff14;--border-strong:#ffffff24;--border-focus:#ffffff52;--sidebar:#050505;--sidebar-foreground:#ededed;--sidebar-active:#ffffff0f;--primary:#fff;--primary-foreground:#000;--accent:#58a6ff;--success:#4ade80;--warning:#f5a524;--info:#58a6ff;--destructive:#f87171;--radius:6px;--radius-tight:4px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-page:24px;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--feature-nums:"tnum" 1, "zero" 1, "ss01" 1}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);font-feature-settings:var(--feature-nums);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}button,input,textarea,select{font:inherit;letter-spacing:inherit}button{cursor:pointer}table{border-collapse:collapse;font-variant-numeric:tabular-nums slashed-zero}.hub-kpi-value,.hub-table td,.hub-table-cell-main,.hub-table-cell-meta,.hub-code,.hub-mono{font-variant-numeric:tabular-nums slashed-zero}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-tight)}::selection{background:color-mix(in srgb, var(--foreground-strong) 16%, transparent);color:var(--foreground-strong)}.hub-app-root{background:var(--background);min-height:100vh;color:var(--foreground)}.hub-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.hub-shell-login{grid-template-columns:none;max-width:720px;margin:0 auto;padding:64px 24px;display:block}.hub-sidebar{border-right:1px solid var(--border);background:var(--sidebar);color:var(--sidebar-foreground);min-width:0}.hub-sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 14px;display:flex}.hub-brand-mark{border-radius:var(--radius-tight);background:var(--foreground-strong);width:28px;height:28px;color:var(--primary-foreground);letter-spacing:.04em;border:1px solid #0000;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.hub-brand-name{color:var(--foreground-strong);font-size:14px;font-weight:600;line-height:18px}.hub-brand-sub,.hub-topbar-sub,.hub-nav-meta,.hub-card-desc,.hub-page-desc,.hub-table-cell-meta,.hub-kpi-meta{color:var(--muted-foreground)}.hub-brand-sub{letter-spacing:.01em;margin-top:2px;font-size:11px}.hub-sidebar-nav{padding:8px}.hub-nav-group{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.1em;padding:12px 10px 6px;font-size:10px;font-weight:600;line-height:14px}.hub-nav-button{border-radius:var(--radius);width:100%;min-height:36px;color:var(--sidebar-foreground);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:16px minmax(0,1fr) 12px;align-items:center;gap:10px;margin:0;padding:6px 10px;font-size:13px;font-weight:500;line-height:18px;transition:background .12s,color .12s,border-color .12s;display:grid;position:relative}.hub-nav-button+.hub-nav-button{margin-top:2px}.hub-nav-button:hover{background:var(--sidebar-active);color:var(--foreground-strong)}.hub-nav-button-active{background:var(--sidebar-active);border-color:var(--border-strong);color:var(--foreground-strong)}.hub-nav-button-inactive{color:var(--muted-foreground)}.hub-nav-icon{opacity:.8;width:14px;height:14px}.hub-nav-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground);margin-top:1px;font-size:11px;line-height:14px;display:block;overflow:hidden}.hub-nav-chevron{opacity:.5;width:12px;height:12px}.hub-main{background:var(--surface);flex-direction:column;min-width:0;display:flex}.hub-topbar{border-bottom:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 24px;display:flex}.hub-topbar-title{color:var(--foreground-strong);font-size:13px;font-weight:600;line-height:18px}.hub-topbar-sub{font-size:12px;line-height:16px}.hub-topbar-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.hub-session-badge{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);align-items:center;gap:8px;min-height:28px;padding:2px 4px 2px 2px;display:inline-flex}.hub-session-badge-loading{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card-soft);width:140px;height:28px;display:inline-block}.hub-session-avatar{background:var(--primary);width:24px;height:24px;color:var(--primary-foreground);font-size:10px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.hub-session-meta{align-items:center;gap:6px;display:inline-flex}.hub-session-logout-label{display:inline-block}@media (width<=768px){.hub-session-meta,.hub-session-logout-label{display:none}}.hub-mobile-nav{display:none}.hub-content{min-width:0;padding:var(--space-page);flex:1}.hub-page{flex-direction:column;gap:20px;display:flex}.hub-page-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hub-page-title{color:var(--foreground-strong);margin:0;font-size:22px;font-weight:600;line-height:28px}.hub-page-desc{max-width:820px;color:var(--muted-foreground);margin:4px 0 0;font-size:13px;line-height:20px}.hub-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.hub-button{border-radius:var(--radius);border:1px solid var(--border-strong);max-width:100%;min-height:32px;color:var(--foreground);background:var(--card);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;line-height:16px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.hub-button:hover{border-color:var(--foreground-strong);color:var(--foreground-strong)}.hub-button-primary{border-color:var(--foreground-strong);background:var(--foreground-strong);color:var(--primary-foreground)}.hub-button-primary:hover{background:var(--foreground);border-color:var(--foreground)}.hub-button-secondary{background:var(--card-soft)}.hub-button-secondary:hover{background:var(--card)}.hub-button-ghost{color:var(--muted-foreground);background:0 0;border-color:#0000}.hub-button-ghost:hover{background:color-mix(in srgb, var(--foreground-strong) 4%, transparent);color:var(--foreground);border-color:var(--border)}.hub-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.hub-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-width:0;padding:16px;transition:border-color .16s,background .16s}.hub-card:hover{border-color:var(--border-strong)}.hub-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.hub-card-headline{align-items:flex-start;gap:10px;min-width:0;display:flex}.hub-card-headline>.hub-mono{letter-spacing:.06em;height:18px;color:var(--foreground-strong);background:var(--card-soft);border:1px solid var(--border);border-radius:var(--radius-tight);text-transform:uppercase;font-variant-numeric:tabular-nums;align-items:center;padding:0 6px;font-size:10px;font-weight:600;line-height:12px;display:inline-flex}.hub-card-title{color:var(--foreground-strong);font-size:13px;font-weight:600;line-height:18px}.hub-card-desc{color:var(--muted-foreground);font-size:12px;line-height:18px}.hub-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.hub-kpi{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-width:0;padding:14px 16px;transition:border-color .16s}.hub-kpi:hover{border-color:var(--border-strong)}.hub-kpi-label{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:500;line-height:14px}.hub-kpi-value{color:var(--foreground-strong);font-variant-numeric:tabular-nums slashed-zero;margin-top:6px;font-size:28px;font-weight:600;line-height:36px}.hub-kpi-meta{color:var(--muted-foreground);letter-spacing:0;margin-top:6px;font-size:11px;line-height:14px}.hub-table-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.hub-table-toolbar{border-bottom:1px solid var(--border);background:var(--card-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.hub-table-scroll{overflow-x:auto}.hub-table{width:100%;min-width:760px}.hub-table th,.hub-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 14px;font-size:13px;line-height:18px}.hub-table tr:last-child td{border-bottom:0}.hub-table tbody tr:hover td{background:color-mix(in srgb, var(--foreground-strong) 2.5%, transparent)}.hub-table-head{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:var(--card-soft);font-size:10px;font-weight:500;line-height:14px}.hub-table-cell-main{min-width:0;color:var(--foreground-strong);font-size:13px;font-weight:500;line-height:18px}.hub-table-cell-meta{color:var(--muted-foreground);margin-top:2px;font-size:11px;line-height:15px}.hub-status{border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid;align-items:center;gap:6px;max-width:100%;min-height:20px;padding:1px 8px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.hub-status-success{color:var(--success);background:color-mix(in srgb, var(--success) 8%, transparent)}.hub-status-warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 8%, transparent)}.hub-status-info{color:var(--info);background:color-mix(in srgb, var(--info) 8%, transparent)}.hub-status-danger{color:var(--destructive);background:color-mix(in srgb, var(--destructive) 8%, transparent)}.hub-status-neutral{color:var(--muted-foreground);background:color-mix(in srgb, var(--foreground-strong) 4%, transparent);border-color:var(--border-strong)}.hub-state{border-radius:var(--radius);border:1px solid var(--border);color:var(--muted-foreground);padding:12px 14px;font-size:13px;line-height:18px}.hub-state-empty,.hub-state-loading{background:var(--card);color:var(--muted-foreground)}.hub-state-error,.hub-state-forbidden{color:var(--destructive);border-color:color-mix(in srgb, var(--destructive) 32%, transparent);background:color-mix(in srgb, var(--destructive) 6%, transparent)}.hub-alert{border-radius:var(--radius);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:18px;display:flex}.hub-alert-info{color:var(--info);border:1px solid color-mix(in srgb, var(--info) 28%, transparent);background:color-mix(in srgb, var(--info) 5%, transparent)}.hub-alert-warning{color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 28%, transparent);background:color-mix(in srgb, var(--warning) 5%, transparent)}.hub-alert-danger{color:var(--destructive);border:1px solid color-mix(in srgb, var(--destructive) 28%, transparent);background:color-mix(in srgb, var(--destructive) 5%, transparent)}.hub-code,.hub-mono{font-family:var(--font-mono);font-feature-settings:var(--feature-nums);letter-spacing:0;font-size:12px}.hub-code{border-radius:var(--radius-tight);background:var(--card-soft);border:1px solid var(--border);color:var(--muted-foreground);overflow-wrap:anywhere;word-break:break-word;align-items:center;gap:4px;max-width:100%;padding:1px 6px;display:inline-flex}.hub-input,.hub-select,.hub-textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--card);min-height:32px;color:var(--foreground);padding:0 10px;font-size:13px;transition:border-color .12s}.hub-input:focus,.hub-select:focus,.hub-textarea:focus{border-color:var(--foreground-strong);outline:none}.hub-textarea{resize:vertical;min-height:80px;padding:8px 10px;line-height:18px}.hub-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.hub-form-row{gap:6px;display:grid}.hub-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hub-form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.hub-checkbox-row{color:var(--muted-foreground);align-items:center;gap:8px;font-size:12px;display:inline-flex}.hub-json-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:240px;color:var(--foreground);font-family:var(--font-mono);font-feature-settings:var(--feature-nums);margin:0;padding:10px 12px;font-size:11px;line-height:17px;overflow:auto}.hub-module-row{align-items:center;gap:10px;min-width:0;display:flex}.hub-step-list,.hub-bullet-list{color:var(--muted-foreground);margin:0;padding-left:18px;font-size:12px;line-height:20px}.hub-ascii{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--foreground);font-family:var(--font-mono);margin:0;padding:10px 12px;font-size:11px;line-height:17px;overflow:auto}.hub-route-list,.hub-list-stack{gap:6px;display:grid}.hub-route-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-list-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 12px;font-size:12px;line-height:18px;transition:border-color .12s;display:flex}.hub-list-row:hover{border-color:var(--border-strong)}@keyframes hub-skeleton-shimmer{0%{background-position:-120px 0}to{background-position:calc(120px + 100%) 0}}.hub-skeleton{border-radius:var(--radius-tight);background-color:var(--card-soft);background-image:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--foreground-strong) 5%, transparent) 50%, transparent 100%);background-repeat:no-repeat;background-size:240px 100%;animation:1.4s ease-in-out infinite hub-skeleton-shimmer;display:block}.hub-skeleton-line{width:100%;height:14px;margin:6px 0}.hub-skeleton-kpi{width:60%;height:28px;margin-top:6px}.hub-section{flex-direction:column;gap:12px;display:flex}.hub-section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:6px;display:flex}.hub-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);font-size:11px;font-weight:600;line-height:14px}.hub-section-desc{color:var(--muted-foreground);font-size:12px;line-height:16px}@media (prefers-reduced-motion:reduce){.hub-skeleton{animation:none}}@media (width<=980px){:root{--space-page:16px}.hub-shell{display:block}.hub-sidebar{display:none}.hub-topbar{flex-direction:column;align-items:flex-start;min-height:auto;padding:14px 16px}.hub-topbar-status{justify-content:flex-start}.hub-mobile-nav{border-bottom:1px solid var(--border);gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.hub-mobile-nav-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);color:var(--muted-foreground);flex:none;padding:6px 12px;font-size:12px;font-weight:500}.hub-mobile-nav-button-active{border-color:var(--foreground-strong);color:var(--foreground-strong);background:color-mix(in srgb, var(--foreground-strong) 4%, transparent)}.hub-page-head,.hub-card-head,.hub-table-toolbar{flex-direction:column;align-items:stretch}.hub-page-actions{justify-content:flex-start}.hub-kpi-grid,.hub-grid,.hub-grid-2,.hub-grid-3,.hub-form-grid,.hub-route-list,.hub-split{grid-template-columns:1fr}.hub-kpi-value{font-size:22px;line-height:30px}.hub-route-list,.hub-list-stack{min-width:0}.hub-route-list>*,.hub-list-stack>*,.hub-list-row>*{overflow-wrap:anywhere;word-break:break-word;min-width:0}.hub-list-row{flex-wrap:wrap;align-items:flex-start;row-gap:4px}.hub-list-row .hub-status{white-space:normal;text-align:left;flex:0 auto;max-width:100%}}
