:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-hover:#f3f2ee;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--border:#0b0b0b1a;--accent:#2a78d6;--hub-south:#2a78d6;--hub-west:#eb6834;--hub-east:#1baf7a;--flow-received:#cfcec6;--flow-scanned:#52514e;--meter-track:#e8e7e1;--meter-fill:#52514e;--warning:#fab219;--critical:#d03b3b;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-hover:#242422;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--accent:#3987e5;--hub-south:#3987e5;--hub-west:#d95926;--hub-east:#199e70;--flow-received:#45443f;--flow-scanned:#c3c2b7;--meter-track:#2f2f2c;--meter-fill:#c3c2b7}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-hover:#242422;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--accent:#3987e5;--hub-south:#3987e5;--hub-west:#d95926;--hub-east:#199e70;--flow-received:#45443f;--flow-scanned:#c3c2b7;--meter-track:#2f2f2c;--meter-fill:#c3c2b7}*{box-sizing:border-box}html,body{background:var(--page);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}button{font:inherit;color:inherit}.page{flex-direction:column;gap:16px;max-width:1320px;margin:0 auto;padding:24px 16px 48px;display:flex}.header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.header h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:650}.header .eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:12px;font-weight:600}.sync{color:var(--text-secondary);align-items:center;gap:12px;font-size:13px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:6px 12px;font-weight:550}.btn:hover{background:var(--surface-hover)}.btn:disabled{opacity:.6;cursor:progress}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-weight:550;display:inline-flex}.segmented button:hover{background:var(--surface-hover)}.segmented button[aria-pressed=true]{background:var(--page);color:var(--text-primary);box-shadow:0 0 0 1px var(--border)}.segmented.small button{padding:3px 10px;font-size:13px}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.line-key{border-radius:1px;flex:none;width:14px;height:2px;display:inline-block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:20px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;margin-bottom:12px;display:flex}.card h2{margin:0;font-size:15px;font-weight:650}.card .sub{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.kpis{grid-template-columns:1.2fr repeat(3,1fr) 1.2fr;gap:0;padding:0;display:grid}.kpi{border-left:1px solid var(--border);min-width:0;padding:18px 20px}.kpi:first-child{border-left:0}.kpi .label{color:var(--text-secondary);font-size:13px;font-weight:550}.kpi .value{letter-spacing:-.02em;margin-top:4px;font-size:32px;font-weight:650;line-height:1.15}.kpi.hero .value{font-size:52px}.kpi .note{color:var(--text-muted);margin-top:4px;font-size:12.5px}@media (max-width:960px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi{border-left:0;border-top:1px solid var(--border)}.kpi.hero{border-top:0;grid-column:1/-1}.kpi:last-child{grid-column:1/-1}}.meter{background:var(--meter-track);border-radius:4px;gap:2px;height:8px;display:flex;overflow:hidden}.meter>span{background:var(--meter-fill);border-radius:4px;height:100%;display:block}.hubs{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:960px){.hubs{grid-template-columns:1fr}}.hub-card{text-align:left;cursor:pointer;flex-direction:column;gap:14px;transition:box-shadow .12s;display:flex}.hub-card:hover{box-shadow:0 0 0 1px var(--baseline)}.hub-card[aria-pressed=true]{box-shadow:0 0 0 2px var(--hub-color)}.hub-title{align-items:center;gap:8px;display:flex}.hub-title strong{font-size:15px}.hub-title span.city{color:var(--text-muted);font-size:13px}.hub-stats{gap:28px;display:flex}.hub-stats .value{letter-spacing:-.02em;font-size:28px;font-weight:650;line-height:1.1}.hub-stats .label{color:var(--text-secondary);font-size:12.5px}.hub-card .meter>span{background:var(--hub-color)}.hub-card .meter{background:color-mix(in srgb, var(--hub-color) 18%, var(--surface))}.scan-line{color:var(--text-secondary);justify-content:space-between;margin-top:6px;font-size:12.5px;display:flex}.stages{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:4px;padding-top:12px;display:grid}.stages div{flex-direction:column;display:flex}.stages .n{font-size:16px;font-weight:650}.stages .n.zero{color:var(--text-muted);font-weight:500}.stages .s{color:var(--text-muted);font-size:11.5px;line-height:1.25}.hub-foot{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}@media (max-width:960px){.charts{grid-template-columns:minmax(0,1fr)}}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart svg:focus{outline:none}.chart svg:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.chart .tick{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart .end-label{fill:var(--text-secondary);font-size:12px;font-weight:600}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.tooltip{pointer-events:none;background:var(--surface);border:1px solid var(--border);z-index:2;border-radius:8px;min-width:150px;padding:8px 10px;font-size:12.5px;position:absolute;top:0;box-shadow:0 6px 20px #0000001f}.tooltip .t-head{color:var(--text-muted);margin-bottom:4px}.tooltip .t-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.tooltip .t-row .k{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.tooltip .t-row strong{font-variant-numeric:tabular-nums}.tooltip .t-total{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.table-wrap{margin:0 -20px -20px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;white-space:nowrap;border-top:1px solid var(--border);padding:10px 12px}th:first-child,td:first-child{padding-left:20px}th:last-child,td:last-child{padding-right:20px}th{color:var(--text-muted);border-top:0;font-size:12px;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.org{white-space:normal;min-width:200px}td.org .loc{color:var(--text-muted);font-size:12px}tbody tr:hover{background:var(--surface-hover)}.hub-tag{align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.mono{font-variant-numeric:tabular-nums;font-weight:600}.progress-cell{justify-content:flex-end;align-items:center;gap:8px;display:flex}.progress-cell .meter{width:64px;height:6px}.progress-cell .progress-n{min-width:3ch}.age-warn{align-items:center;gap:4px;display:inline-flex}.empty{color:var(--text-secondary);text-align:center;padding:28px 20px}.error-card{border-color:color-mix(in srgb, var(--critical) 40%, var(--border))}.foot-note{color:var(--text-muted);font-size:12px}.sync{flex-wrap:wrap}.viewer{border-left:1px solid var(--border);align-items:center;gap:8px;margin:0;padding-left:12px;display:flex}.viewer span{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.login{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login .card{width:100%;max-width:380px;padding:28px 24px}.login h1{margin:0 0 4px;font-size:20px}.login .eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:12px;font-weight:600}.login .sub{margin:0 0 20px}.login .btn{width:100%;padding:10px 14px}.btn.primary{background:var(--text-primary);color:var(--surface);border-color:#0000}.btn.primary:hover{background:var(--text-secondary)}.login-form{flex-direction:column;gap:12px;display:flex}.login-form label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;font-weight:550;display:flex}.login-form input,.select{font:inherit;color:var(--text-primary);background:var(--page);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.login-form input:focus-visible,.select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.divider{color:var(--text-muted);align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.login-link{color:var(--text-secondary);margin-top:12px;font-size:13px;display:inline-block}.login .err,.login .notice{border-radius:8px;margin-top:14px;padding:8px 10px;font-size:13px}.login .err{color:var(--critical);background:color-mix(in srgb, var(--critical) 10%, var(--surface))}.login .notice{color:var(--text-secondary);background:var(--surface-hover)}
