:root{--bg-app:#080c14;--bg-surface-1:#0d1524;--bg-surface-2:#131e33;--bg-surface-3:#1c2b47;--bg-surface-hover:#243556;--border-subtle:#19273f;--border-medium:#263a5c;--border-bright:#3d5682;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#020617;--brand-primary:#38bdf8;--brand-primary-hover:#0ea5e9;--brand-primary-glow:rgba(56,189,248,.2);--brand-accent:#6366f1;--status-up:#10b981;--status-up-bg:rgba(16,185,129,.12);--status-up-border:rgba(16,185,129,.35);--status-up-glow:rgba(16,185,129,.2);--status-slow:#f59e0b;--status-slow-bg:rgba(245,158,11,.12);--status-slow-border:rgba(245,158,11,.35);--status-slow-glow:rgba(245,158,11,.2);--status-down:#ef4444;--status-down-bg:rgba(239,68,68,.14);--status-down-border:rgba(239,68,68,.35);--status-down-glow:rgba(239,68,68,.2);--status-info:#06b6d4;--status-info-bg:rgba(6,182,212,.12);--method-get:#10b981;--method-post:#38bdf8;--method-put:#f59e0b;--method-delete:#ef4444;--method-patch:#a855f7;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 4px 12px rgba(0,0,0,.5);--shadow-lg:0 8px 24px rgba(0,0,0,.7);--transition-fast:0.12s ease;--transition-normal:0.2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:13.5px;font-family:var(--font-sans);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body,html{background-color:var(--bg-app);color:var(--text-primary)}body{min-height:100vh;background-image:radial-gradient(circle at 50% 0,rgba(56,189,248,.05) 0,transparent 70%),linear-gradient(90deg,hsla(0,0%,100%,.018) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.018) 1px,transparent 0);background-size:100% 100%,36px 36px,36px 36px;background-position:0 0,0 0,0 0;overflow-x:hidden}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-surface-1)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.25;letter-spacing:-.01em}.font-mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--status-up)}.text-warning{color:var(--status-slow)}.text-danger{color:var(--status-down)}.text-info{color:var(--brand-primary)}.icon{width:15px;height:15px;display:inline-block;vertical-align:middle;stroke-width:2;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);font-size:.86rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);background:transparent;color:var(--text-primary);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:inherit}.btn:active{transform:translateY(1px)}.btn-primary{background:#0284c7;color:#fff;border-color:#38bdf8}.btn-primary:hover{background:#0369a1;border-color:#7dd3fc}.btn-secondary{background:var(--bg-surface-2);border-color:var(--border-medium);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-bright)}.btn-secondary.active{background:rgba(56,189,248,.15);border-color:var(--brand-primary);color:var(--brand-primary)}.btn-outline{background:rgba(13,21,36,.7);border-color:var(--border-medium);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--border-bright);color:var(--text-primary);background:var(--bg-surface-2)}.btn-success-subtle{background:var(--status-up-bg);border-color:var(--status-up-border);color:#34d399}.btn-success-subtle:hover{background:rgba(16,185,129,.22);border-color:#10b981}.btn-warning-subtle{background:var(--status-slow-bg);border-color:var(--status-slow-border);color:#fbbf24}.btn-warning-subtle:hover{background:rgba(245,158,11,.22);border-color:#f59e0b}.btn-danger-subtle{background:var(--status-down-bg);border-color:var(--status-down-border);color:#f87171}.btn-danger-subtle:hover{background:rgba(239,68,68,.22);border-color:#ef4444}.btn-sm{padding:4px 9px;font-size:.82rem}.btn-xs{padding:2px 7px;font-size:.75rem;border-radius:var(--radius-sm)}.form-control,.form-select{background:var(--bg-surface-1);border:1px solid var(--border-medium);color:var(--text-primary);border-radius:var(--radius-md);padding:5px 9px;font-size:.85rem;outline:none;font-family:inherit;transition:border-color var(--transition-fast)}.form-control:focus,.form-select:focus{border-color:var(--brand-primary)}.form-control-sm,.form-select-sm{padding:3px 7px;font-size:.8rem}.toast-container{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-msg{pointer-events:auto;background:var(--bg-surface-2);border:1px solid var(--border-bright);padding:10px 14px;border-radius:var(--radius-md);font-size:.82rem;color:var(--text-primary);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;animation:toastIn .2s ease-out}.toast-msg.toast-success{border-left:3px solid var(--status-up)}.toast-msg.toast-warning{border-left:3px solid var(--status-slow)}.toast-msg.toast-danger{border-left:3px solid var(--status-down)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.45}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin-once{animation:spin .5s ease-in-out}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.header-container{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(8,12,20,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-subtle)}.top-nav{max-width:1680px;margin:0 auto;padding:8px 20px;justify-content:space-between;gap:16px}.nav-left,.top-nav{display:flex;align-items:center}.nav-left{gap:14px}.brand-logo{gap:10px}.brand-logo,.logo-icon-wrap{display:flex;align-items:center}.logo-icon-wrap{width:28px;height:28px;background:#0284c7;border-radius:var(--radius-md);justify-content:center;color:#fff}.logo-icon{width:16px;height:16px}.brand-title{display:flex;align-items:center;gap:6px}.brand-name{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:#fff}.brand-badge{font-size:.68rem;background:var(--bg-surface-2);color:var(--brand-primary);border-radius:var(--radius-sm);border:1px solid var(--border-medium)}.brand-badge,.env-badge{font-family:var(--font-mono);padding:1px 5px}.env-badge{font-size:.65rem;font-weight:700;background:rgba(16,185,129,.12);color:#34d399;border-radius:var(--radius-sm);border:1px solid var(--status-up-border);letter-spacing:.04em}.brand-subtitle{font-size:.76rem;color:var(--text-secondary)}.nav-center{display:flex;align-items:center;gap:12px}.gateway-status-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary)}.gateway-ping-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.system-status-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.02em}.system-status-indicator.status-up{background:var(--status-up-bg);border:1px solid var(--status-up-border);color:#34d399}.system-status-indicator.status-up .status-dot{background:#10b981}.system-status-indicator.status-slow{background:var(--status-slow-bg);border:1px solid var(--status-slow-border);color:#fbbf24}.system-status-indicator.status-slow .status-dot{background:#f59e0b}.system-status-indicator.status-down{background:var(--status-down-bg);border:1px solid var(--status-down-border);color:#f87171}.system-status-indicator.status-down .status-dot{background:#ef4444}.status-dot{width:7px;height:7px;border-radius:50%}.nav-right{display:flex;align-items:center;gap:12px}.engine-mode-pill{display:inline-flex;align-items:center;gap:5px;background:var(--bg-surface-2);border:1px solid var(--border-subtle);padding:3px 8px;border-radius:var(--radius-sm);font-size:.72rem;color:var(--text-secondary);font-family:var(--font-mono)}.engine-dot{width:5px;height:5px;background:var(--brand-primary);border-radius:50%}.header-actions{display:flex;align-items:center;gap:6px}.kbd-hint{font-size:.68rem;background:var(--bg-surface-1);padding:1px 4px;border-radius:3px;border:1px solid var(--border-medium);margin-left:4px}.kbd-hint,.last-sync{font-family:var(--font-mono);color:var(--text-muted)}.last-sync{font-size:.72rem}.section-nav-bar{background:var(--bg-surface-1);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:0 20px}.nav-tabs-list{max-width:1680px;margin:0 auto;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.nav-tabs-list::-webkit-scrollbar{display:none}.nav-tab-item{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:.8rem;font-weight:500;color:var(--text-secondary);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast)}.nav-tab-item:hover{color:var(--text-primary)}.nav-tab-item.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.tab-badge{font-size:.68rem;font-family:var(--font-mono);background:var(--bg-surface-2);color:var(--text-muted);padding:1px 5px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.nav-tab-item.active .tab-badge{background:rgba(56,189,248,.15);color:var(--brand-primary);border-color:rgba(56,189,248,.3)}.main-container{max-width:1680px;margin:0 auto;padding:14px 20px 28px;width:100%;display:flex;flex-direction:column;gap:16px}.dashboard-section{background:var(--bg-surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px 16px;scroll-margin-top:85px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:10px}.section-title-wrap{display:flex;align-items:center;gap:8px}.section-icon{width:28px;height:28px;background:var(--bg-surface-2);border:1px solid var(--border-medium);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--brand-primary)}.section-title{font-size:.98rem;font-weight:700;color:#fff}.section-desc{font-size:.78rem;color:var(--text-secondary);margin-top:1px}.dashboard-footer{border-top:1px solid var(--border-subtle);padding:14px 20px;margin-top:auto;background:var(--bg-surface-1)}.footer-content{max-width:1680px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;font-size:.76rem;color:var(--text-muted);flex-wrap:wrap;gap:10px}.footer-links{display:flex;gap:14px}.footer-shortcut kbd{font-family:var(--font-mono);background:var(--bg-surface-2);border:1px solid var(--border-medium);padding:1px 4px;border-radius:3px;color:var(--text-secondary)}@media (max-width:1024px){.top-nav{flex-wrap:wrap}.nav-center{order:3;width:100%}}.mission-status-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 14px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}.mission-status-strip::-webkit-scrollbar{display:none}.status-strip-item{display:flex;flex-direction:column;gap:2px;min-width:max-content}.strip-label{font-size:.65rem;font-weight:700;color:var(--text-muted);letter-spacing:.06em}.strip-val-wrap{display:flex;align-items:center;gap:5px}.strip-dot{width:6px;height:6px;border-radius:50%}.strip-dot.status-up{background:var(--status-up);box-shadow:0 0 6px var(--status-up-glow)}.strip-dot.status-slow{background:var(--status-slow);box-shadow:0 0 6px var(--status-slow-glow)}.strip-dot.status-down{background:var(--status-down);box-shadow:0 0 6px var(--status-down-glow);animation:pulseDown 1.2s ease-in-out infinite}@keyframes pulseDown{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.strip-val{font-size:.82rem;font-weight:700;color:#fff}.strip-sub{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono)}.status-strip-divider{width:1px;height:24px;background:var(--border-subtle)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px}.metric-card{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;transition:border-color var(--transition-fast)}.metric-card:hover{border-color:var(--border-medium)}.metric-header{display:flex;align-items:center;justify-content:space-between}.metric-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.metric-icon-box{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.metric-icon-box.info{background:var(--status-info-bg);color:var(--brand-primary)}.metric-icon-box.success{background:var(--status-up-bg);color:var(--status-up)}.metric-icon-box.warning{background:var(--status-slow-bg);color:var(--status-slow)}.metric-icon-box.danger{background:var(--status-down-bg);color:var(--status-down)}.metric-value-row{display:flex;align-items:baseline;gap:6px}.metric-value{font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1}.metric-unit,.metric-value{font-family:var(--font-mono)}.metric-unit{font-size:.75rem;color:var(--text-muted)}.metric-subtext{display:flex;align-items:center;gap:5px;font-size:.74rem;flex-wrap:wrap}.subtext-pill{padding:1px 5px;border-radius:var(--radius-sm);font-size:.68rem;font-weight:700;font-family:var(--font-mono)}.subtext-pill.up{background:var(--status-up-bg);color:#34d399}.subtext-pill.slow{background:var(--status-slow-bg);color:#fbbf24}.subtext-pill.down{background:var(--status-down-bg);color:#f87171}.metric-progress-bar{width:100%;height:4px;background:var(--bg-surface-3);border-radius:var(--radius-full);overflow:hidden;margin-top:4px}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease}.progress-fill.bg-success{background:var(--status-up)}.progress-fill.bg-warning{background:var(--status-slow)}.progress-fill.bg-danger{background:var(--status-down)}.service-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:12px;gap:12px}.service-card{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:12px;cursor:pointer;position:relative;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.service-card:hover{border-color:var(--border-bright)}.service-card.health-up{border-left:3px solid var(--status-up)}.service-card.health-up.selected,.service-card.health-up:hover{border-color:var(--status-up-border);background:rgba(16,185,129,.03)}.service-card.health-slow{border-left:3px solid var(--status-slow)}.service-card.health-slow.selected,.service-card.health-slow:hover{border-color:var(--status-slow-border);background:rgba(245,158,11,.03)}.service-card.health-down{border-left:3px solid var(--status-down)}.service-card.health-down.selected,.service-card.health-down:hover{border-color:var(--status-down-border);background:rgba(239,68,68,.03)}.service-card.is-hovered{border-color:var(--brand-primary)!important;box-shadow:0 0 12px var(--brand-primary-glow)}.service-card.is-dimmed{opacity:.45;transition:opacity var(--transition-fast)}.service-card-header{display:flex;align-items:center;justify-content:space-between}.service-identity{display:flex;align-items:center;gap:8px}.service-icon-wrap{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.service-icon-wrap.health-up{background:var(--status-up-bg);color:var(--status-up)}.service-icon-wrap.health-slow{background:var(--status-slow-bg);color:var(--status-slow)}.service-icon-wrap.health-down{background:var(--status-down-bg);color:var(--status-down)}.service-name{font-size:.95rem;font-weight:700;color:#fff}.service-meta{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary)}.service-port{color:var(--brand-primary);font-weight:600}.service-version{color:var(--text-muted)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:800;font-family:var(--font-mono);letter-spacing:.03em}.status-badge.health-up{background:var(--status-up-bg);border:1px solid var(--status-up-border);color:#34d399}.status-badge.health-up .badge-dot{background:#10b981}.status-badge.health-slow{background:var(--status-slow-bg);border:1px solid var(--status-slow-border);color:#fbbf24}.status-badge.health-slow .badge-dot{background:#f59e0b}.status-badge.health-down{background:var(--status-down-bg);border:1px solid var(--status-down-border);color:#f87171}.status-badge.health-down .badge-dot{background:#ef4444}.badge-dot{width:6px;height:6px;border-radius:50%}.service-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;background:var(--bg-surface-1);padding:8px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.service-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase}.stat-val{font-size:.88rem;font-weight:700;font-family:var(--font-mono);color:#fff;margin-top:1px}.service-sparkline-container{margin-top:6px;background:var(--bg-surface-1);padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.sparkline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.sparkline-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase}.sparkline-status{font-size:.65rem;font-weight:700;color:var(--text-secondary)}.service-sparkline-wrap{width:100%;height:22px}.service-sparkline-svg{width:100%;height:100%;display:block}.service-endpoints-list{margin-top:6px}.endpoints-title{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;display:block}.endpoints-tags{display:flex;flex-wrap:wrap;gap:4px}.endpoint-tag{display:inline-flex;align-items:center;gap:3px;background:var(--bg-surface-3);padding:2px 5px;border-radius:var(--radius-sm);font-size:.68rem;font-family:var(--font-mono)}.ep-method{font-weight:700;font-size:.65rem}.ep-path{color:var(--text-secondary)}.service-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-subtle);padding-top:8px}.card-quick-actions{display:flex;gap:5px}.map-header-right{gap:16px;flex-wrap:wrap}.map-header-right,.map-legend{display:flex;align-items:center}.map-legend{gap:12px;font-size:.72rem;color:var(--text-secondary);font-family:var(--font-mono)}.legend-item{display:inline-flex;align-items:center;gap:4px}.legend-dot{width:6px;height:6px;border-radius:50%}.legend-dot.up{background:var(--status-up)}.legend-dot.slow{background:var(--status-slow)}.legend-dot.down{background:var(--status-down)}.legend-dot.traffic{background:#38bdf8}.legend-dot.dropped{background:#ef4444}.map-controls-group{display:flex;align-items:center;gap:3px;background:var(--bg-surface-1);padding:2px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.map-ctrl-btn{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;line-height:1}.service-map-container{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:12px 16px;position:relative;overflow:hidden;min-height:280px}.service-map-scaler{width:100%;display:flex;justify-content:center}.service-map-svg{width:100%;max-width:920px;height:auto;display:block}.map-node{cursor:pointer;transition:opacity var(--transition-fast)}.map-node:hover{opacity:.95}.map-node:focus-visible{outline:2px solid var(--brand-primary)}.map-node.is-selected rect:first-child{stroke:var(--brand-primary)!important;stroke-width:2.5px!important}.map-edge-group.is-dimmed{opacity:.25;transition:opacity var(--transition-fast)}.service-node.is-dimmed{opacity:.35;transition:opacity var(--transition-fast)}.map-hover-tooltip,.map-latency-pill{pointer-events:none}.map-hover-tooltip{position:absolute;z-index:60;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tooltip-card{background:#080c14;border:1px solid var(--border-bright);border-radius:var(--radius-md);padding:10px 12px;width:220px;box-shadow:var(--shadow-lg)}.tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;border-bottom:1px solid var(--border-subtle);padding-bottom:6px}.tooltip-title{font-size:.84rem;font-weight:700;color:#fff}.tooltip-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px 8px;gap:4px 8px;font-size:.72rem}.tooltip-item{display:flex;justify-content:space-between}.tooltip-label{color:var(--text-muted)}.tooltip-footer{margin-top:8px;padding-top:6px;border-top:1px solid var(--border-subtle);font-size:.68rem;color:var(--brand-primary);text-align:center;font-family:var(--font-mono)}.metrics-header-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.time-range-pills{display:flex;align-items:center;gap:2px;background:var(--bg-surface-2);padding:2px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.range-btn{padding:2px 8px;font-size:.7rem;font-family:var(--font-mono);font-weight:600;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:3px;transition:all var(--transition-fast)}.range-btn:hover{color:var(--text-primary)}.range-btn.active{background:var(--bg-surface-hover);color:var(--brand-primary)}.charts-badge{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;color:var(--text-secondary);background:var(--bg-surface-2);padding:2px 7px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);font-family:var(--font-mono)}.live-indicator{width:5px;height:5px;background:#10b981;border-radius:50%}.telemetry-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}@media (max-width:1024px){.telemetry-grid{grid-template-columns:1fr}}.telemetry-card{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:12px 14px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;transition:border-color var(--transition-fast)}.telemetry-card:hover{border-color:var(--border-medium)}.telemetry-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.telemetry-title-group{display:flex;flex-direction:column}.telemetry-title{font-size:.84rem;font-weight:700;color:#fff;letter-spacing:-.01em}.telemetry-subtitle{font-size:.68rem;color:var(--text-muted);display:block}.telemetry-stat-box{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.telemetry-live-val{font-family:var(--font-mono);font-size:.84rem;font-weight:700}.telemetry-peak-val{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted)}.telemetry-latency-legend{display:flex;gap:6px;font-size:.68rem;font-family:var(--font-mono)}.legend-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 4px;background:var(--bg-surface-1);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.legend-dot-cyan{background:#06b6d4}.legend-dot-amber,.legend-dot-cyan{width:6px;height:6px;border-radius:50%}.legend-dot-amber{background:#f59e0b}.telemetry-canvas-wrap{position:relative;width:100%;height:135px}.telemetry-canvas-wrap canvas{width:100%!important;height:135px!important;display:block;cursor:crosshair}.chart-hud-tooltip{position:absolute;z-index:50;pointer-events:none;display:none}.hud-tooltip-card{background:#080c14;border:1px solid #223556;border-radius:var(--radius-sm);padding:7px 10px;min-width:170px;box-shadow:0 4px 16px rgba(0,0,0,.6);pointer-events:none}.hud-tooltip-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);padding-bottom:4px;margin-bottom:5px}.hud-time{font-size:.7rem;color:#94a3b8}.hud-badge{font-size:.62rem;font-weight:700;padding:1px 4px;border-radius:2px}.hud-tooltip-grid{display:flex;flex-direction:column;gap:3px}.hud-row{display:flex;justify-content:space-between;font-size:.68rem}.hud-label{color:var(--text-muted)}.hud-val{font-weight:600;color:#fff}.hud-tooltip-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-subtle);padding-top:4px;margin-top:5px;font-size:.68rem}.hud-status{font-weight:700;font-family:var(--font-mono)}.request-count-badge{font-size:.74rem;color:var(--text-secondary);font-family:var(--font-mono)}.filter-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;background:var(--bg-surface-2);padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.search-input-wrap{position:relative;flex:1 1;min-width:200px;display:flex;align-items:center}.search-input-wrap .search-icon{position:absolute;left:8px;width:13px;height:13px;color:var(--text-muted);pointer-events:none}.search-input-wrap .form-control{padding-left:28px;width:100%}.btn-clear-search{position:absolute;right:6px;background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer}.filter-group{display:flex;align-items:center;gap:5px}.filter-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.table-container{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.82rem}.data-table th{background:var(--bg-surface-2);color:var(--text-secondary);padding:8px 12px;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-medium)}.data-table td{padding:8px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.request-row{cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast)}.request-row:hover{background:var(--bg-surface-2)}.request-row.is-row-highlighted{background:rgba(56,189,248,.08)!important}.request-row.is-row-dimmed{opacity:.35}.cell-path{font-family:var(--font-mono);font-size:.78rem}.req-path-text{color:#fff;font-weight:600}.req-id-sub{display:block;font-size:.68rem;color:var(--text-muted)}.cell-time{font-size:.74rem;color:var(--text-secondary)}.cell-time,.method-badge{font-family:var(--font-mono)}.method-badge{display:inline-block;padding:1px 5px;border-radius:var(--radius-sm);font-size:.68rem;font-weight:800;letter-spacing:.04em}.method-get{background:rgba(16,185,129,.15);color:#34d399}.method-post{background:rgba(56,189,248,.15);color:#38bdf8}.method-put{background:rgba(245,158,11,.15);color:#fbbf24}.method-delete{background:rgba(239,68,68,.15);color:#f87171}.status-pill{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:700;font-family:var(--font-mono)}.status-2xx{background:var(--status-up-bg);color:#34d399;border:1px solid var(--status-up-border)}.status-3xx{background:var(--status-info-bg);color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.status-4xx{background:var(--status-slow-bg);color:#fbbf24;border:1px solid var(--status-slow-border)}.status-5xx{background:var(--status-down-bg);color:#f87171;border:1px solid var(--status-down-border)}.latency-pill{font-family:var(--font-mono);font-size:.76rem;font-weight:600}.latency-fast{color:#34d399}.latency-slow{color:#fbbf24}.latency-down{color:#f87171}.service-tag{display:inline-block;padding:1px 5px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:500;background:var(--bg-surface-3);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-inspect-req{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:var(--radius-sm)}.btn-inspect-req:hover{color:var(--brand-primary);background:var(--bg-surface-3)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--bg-surface-1);border:1px solid var(--border-bright);border-radius:var(--radius-lg);width:100%;max-width:620px;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{padding:12px 16px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-title-wrap{display:flex;align-items:center;gap:8px}.modal-path{font-size:.98rem;font-weight:700;font-family:var(--font-mono);color:#fff}.modal-close-btn{background:none;border:none;color:var(--text-muted);font-size:1.3rem;cursor:pointer;line-height:1}.modal-close-btn:hover{color:#fff}.modal-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-section-title{font-size:.74rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.modal-grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.info-box{background:var(--bg-surface-2);padding:8px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.info-label{font-size:.68rem;color:var(--text-muted);display:block}.info-value{font-size:.82rem;font-weight:600;margin-top:1px;display:block}.code-block{background:var(--bg-app);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:10px;overflow-x:auto}.code-block pre{font-family:var(--font-mono);font-size:.74rem;color:#38bdf8;margin:0}.modal-footer{padding:10px 16px;border-top:1px solid var(--border-subtle);justify-content:flex-end}.live-event-feed-strip,.modal-footer{display:flex;background:var(--bg-surface-2)}.live-event-feed-strip{align-items:center;gap:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:6px 12px;margin-bottom:10px;overflow-x:auto;scrollbar-width:none}.live-event-feed-strip::-webkit-scrollbar{display:none}.feed-header-label{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:800;color:var(--brand-primary);font-family:var(--font-mono);white-space:nowrap}.feed-items-scroll{display:flex;align-items:center;gap:16px;overflow-x:auto}.feed-event-item{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;white-space:nowrap}.feed-time{color:var(--text-muted)}.feed-level{font-weight:700;font-size:.65rem}.feed-msg{color:var(--text-primary)}.log-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.log-level-pills{display:flex;gap:3px;background:var(--bg-surface-2);padding:2px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.log-level-btn{background:transparent;border:none;padding:2px 8px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:700;font-family:var(--font-mono);cursor:pointer;color:var(--text-muted);transition:color var(--transition-fast),background-color var(--transition-fast)}.log-level-btn.active{background:var(--bg-surface-hover);color:#fff}.log-level-btn.all.active{color:var(--brand-primary)}.log-level-btn.info.active{color:#38bdf8}.log-level-btn.warn.active{color:#fbbf24}.log-level-btn.error.active{color:#f87171}.log-search-wrap{position:relative;flex:1 1;min-width:180px;display:flex;align-items:center}.log-search-wrap .search-icon{position:absolute;left:7px;width:12px;height:12px;color:var(--text-muted)}.log-search-wrap .form-control{padding-left:24px;width:100%}.log-autoscroll-toggle,.toggle-label{display:flex;align-items:center}.toggle-label{gap:5px;font-size:.74rem;color:var(--text-secondary);cursor:pointer}.log-terminal-window{background:#040711;border:1px solid var(--border-medium);border-radius:var(--radius-lg);overflow:hidden}.log-terminal-header{background:#090e1a;border-bottom:1px solid var(--border-subtle);padding:6px 12px;display:flex;align-items:center;justify-content:space-between}.terminal-dots{display:flex;gap:5px}.terminal-dots .dot{width:8px;height:8px;border-radius:50%}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#10b981}.terminal-title{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.terminal-badge{font-family:var(--font-mono);font-size:.68rem;color:var(--brand-primary);background:rgba(56,189,248,.1);padding:1px 5px;border-radius:var(--radius-sm)}.log-entries-list{max-height:260px;overflow-y:auto;padding:8px 12px;font-family:var(--font-mono);font-size:.75rem;line-height:1.6}.log-line{display:flex;align-items:baseline;gap:6px;white-space:nowrap;padding:1px 3px;border-radius:2px;cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast)}.log-line:hover{background:hsla(0,0%,100%,.05)}.log-line.is-log-highlighted{background:rgba(56,189,248,.1)!important}.log-line.is-log-dimmed{opacity:.35}.log-col-time{color:#64748b}.log-col-level{font-weight:700;width:45px}.log-lvl-info .log-col-level{color:#38bdf8}.log-lvl-warn .log-col-level{color:#fbbf24}.log-lvl-error .log-col-level{color:#f87171}.log-col-reqid{color:#94a3b8;font-size:.7rem}.log-col-service{color:#a78bfa;font-weight:600}.log-col-method{font-weight:700}.log-col-path{color:#e2e8f0}.log-col-status{font-weight:700}.log-col-latency{color:#38bdf8}.log-col-msg{color:#cbd5e1;white-space:normal}.empty-terminal-msg{color:var(--text-muted);text-align:center;padding:24px}.simulation-panel{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px}.simulation-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}.simulation-notice-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(245,158,11,.12);border:1px solid var(--status-slow-border);color:#fbbf24;padding:4px 10px;border-radius:var(--radius-sm);font-size:.74rem;font-weight:700;letter-spacing:.03em}.simulation-body-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.sim-builder-card,.sim-status-card{background:var(--bg-surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px}.sim-card-title{font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}.service-selector-radio{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.service-radio-label{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-surface-2);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.service-radio-label:hover{border-color:var(--border-medium)}.service-radio-label.active{border-color:var(--brand-primary);background:rgba(56,189,248,.08)}.service-radio-label input{display:none}.radio-service-name{font-size:.78rem;font-weight:600;color:#fff}.radio-service-port{font-size:.7rem;font-family:var(--font-mono);color:var(--brand-primary)}.radio-status-tag{font-size:.65rem;font-weight:700;font-family:var(--font-mono);padding:1px 4px;border-radius:var(--radius-sm)}.radio-status-tag.up{color:#34d399}.radio-status-tag.slow{color:#fbbf24}.radio-status-tag.down{color:#f87171}.sim-actions-container{display:flex;flex-direction:column;gap:10px}.action-group{display:flex;flex-direction:column;gap:5px}.action-group-label{font-size:.72rem;color:var(--text-muted)}.btn-group-row{display:flex;gap:5px;flex-wrap:wrap}.sim-status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.active-sims-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.active-sim-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.76rem}.active-sim-item.has-override{border-color:var(--status-slow-border)}.sim-item-info{display:flex;align-items:center;gap:6px}.sim-item-name{font-weight:600;color:#fff}.sim-tag{font-size:.68rem;font-family:var(--font-mono);font-weight:700;padding:1px 5px;border-radius:var(--radius-sm)}.sim-tag.latency{background:var(--status-slow-bg);color:#fbbf24}.sim-tag.status{background:var(--status-down-bg);color:#f87171}.sim-tag.healthy{background:var(--status-up-bg);color:#34d399}.chaos-presets-wrap{border-top:1px solid var(--border-subtle);padding-top:10px}.preset-title{font-size:.72rem;color:var(--text-secondary);margin-bottom:6px}.preset-buttons{display:flex;gap:5px;flex-wrap:wrap}@media (max-width:1024px){.simulation-body-grid{grid-template-columns:1fr}}