body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.nav-link.active-tab{border-bottom:2px solid #00f2fe;color:#00f2fe!important;font-weight:700}.neon-text{color:#00bfff;text-shadow:0 0 5px #00bfff,0 0 10px #00bfff,0 0 20px #00bfff,0 0 40px #00bfff}.surface-enter{animation:surfaceIn .32s cubic-bezier(.32,.72,0,1) both;inset:0;overflow:hidden;position:fixed}.surface-enter--assistant{--surface-from:-34px}.surface-enter--console{--surface-from:34px}@keyframes surfaceIn{0%{opacity:0;transform:translateX(24px);transform:translateX(var(--surface-from,24px))}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.surface-enter{animation:none}}:root{--sidebar-w:240px;--sidebar-collapsed:72px;--sidebar-bg:#0b1120;--sidebar-border:#94a3b814;--content-bg:#f1f5f9;--card-bg:#fff;--card-border:#e2e8f0;--accent:#6366f1;--accent-light:#818cf8;--accent-dark:#4f46e5;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#22d3ee;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 25px #00000014;--transition-fast:0.15s ease;--transition-normal:0.25s ease;--transition-slow:0.4s ease;--surface:#fff;--text:#0f172a;--c-card:#fff;--c-border:#e2e8f0;--c-accent:#6366f1;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace}*,:after,:before{box-sizing:border-box}#root,body,html{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;background:var(--content-bg);color:#0f172a;color:var(--text-primary);font-family:Inter,SF Pro Display,system-ui,-apple-system,sans-serif;line-height:1.5}.app-shell{display:flex;height:100vh;overflow:hidden}.app-main{background:#f1f5f9;background:var(--content-bg);flex:1 1;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.app-content{margin:0 auto;max-width:1440px;padding:28px 32px 48px}.app-view-transition{animation:viewTransition .35s cubic-bezier(.4,0,.2,1)}@keyframes viewTransition{0%{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar{background:#0b1120;background:var(--sidebar-bg);border-right:1px solid #94a3b814;border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;flex-shrink:0;position:relative;transition:width .3s cubic-bezier(.4,0,.2,1);width:240px;width:var(--sidebar-w);z-index:50}.sidebar.collapsed{width:72px;width:var(--sidebar-collapsed)}.sidebar-logo{border-bottom:1px solid #94a3b814;border-bottom:1px solid var(--sidebar-border);gap:12px;min-height:68px;padding:20px 18px}.sidebar-logo,.sidebar-logo-mark{align-items:center;display:flex;flex-shrink:0}.sidebar-logo-mark{justify-content:center}.sidebar-logo-text{display:flex;flex-direction:column;overflow:hidden;white-space:nowrap}.sidebar-brand{color:#e2e8f0;font-size:1.05rem;font-weight:800;letter-spacing:.02em}.sidebar-edition{color:#64748b;font-size:.68rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 8px;scrollbar-color:#94a3b833 #0000;scrollbar-width:thin}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#94a3b859}.sidebar-item{align-items:center;background:#0000;border:none;border-radius:12px;border-radius:var(--radius-md);color:#94a3b8;cursor:pointer;display:flex;font-size:.88rem;font-weight:500;gap:12px;padding:10px 14px;position:relative;text-align:left;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.sidebar-item:hover{background:#6366f114;color:#c7d2fe}.sidebar-item.active{background:#6366f126;color:#e2e8f0}.sidebar-item-indicator{background:#6366f1;background:var(--accent);border-radius:999px;height:0;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:height .15s ease;transition:height var(--transition-fast);width:3px}.sidebar-item.active .sidebar-item-indicator{height:20px}.sidebar-icon{flex-shrink:0;opacity:.8}.sidebar-item.active .sidebar-icon{color:#818cf8;color:var(--accent-light);opacity:1}.sidebar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar.collapsed .sidebar-item{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:20px 12px}.sidebar-footer{border-top:1px solid #94a3b814;border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;flex-shrink:0;gap:10px;padding:12px}.sidebar-node-section{background:#6366f10f;border-radius:12px;border-radius:var(--radius-md);padding:10px 8px}.sidebar-node-label{color:#64748b;font-size:.65rem;font-weight:700;letter-spacing:.08em;margin-bottom:6px}.sidebar-node-dropdown{appearance:none;background:#0f172a;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;background-size:16px;border:1px solid #94a3b826;border-radius:8px;border-radius:var(--radius-sm);color:#e2e8f0;cursor:pointer;font-family:inherit;font-size:.82rem;padding:8px 10px;transition:border-color .15s ease;transition:border-color var(--transition-fast);width:100%}.sidebar-node-dropdown:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px #6366f133;outline:none}.sidebar-node-dropdown option{background:#0f172a;color:#e2e8f0}.sidebar-node-status{align-items:center;display:flex;gap:6px;margin-top:8px}.sidebar-status-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.sidebar-status-dot.online{background:#22c55e;background:var(--success);box-shadow:0 0 6px #22c55e80}.sidebar-status-dot.offline{background:#ef4444;background:var(--danger);box-shadow:0 0 6px #ef444466}.sidebar-status-text{color:#94a3b8;font-size:.72rem;font-weight:600}.sidebar-node-collapsed{display:flex;justify-content:center;padding:8px 0}.sidebar-collapse-btn{align-items:center;background:#0000;border:1px solid #94a3b81a;border-radius:8px;border-radius:var(--radius-sm);color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .15s ease;transition:all var(--transition-fast)}.sidebar-collapse-btn:hover{background:#6366f11a;border-color:#6366f133;color:#c7d2fe}.dashboard{display:flex;flex-direction:column;gap:24px}.dash-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.dash-page-title{color:#0f172a;color:var(--text-primary);font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin:0}.dash-page-sub{color:#64748b;color:var(--text-secondary);font-size:.88rem;margin:4px 0 0}.dash-refresh-ts{color:#94a3b8;color:var(--text-muted);font-size:.78rem}.dash-error{background:#fee2e2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#991b1b;font-size:.85rem;font-weight:600;padding:10px 14px}.dash-stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dash-stat{align-items:flex-start;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:18px 20px;transition:box-shadow .25s ease,transform .25s ease;transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.dash-stat:hover{box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.dash-stat-icon{align-items:center;background:color-mix(in srgb,#6366f1 10%,#0000);background:color-mix(in srgb,var(--accent) 10%,#0000);border-radius:12px;border-radius:var(--radius-md);color:#6366f1;color:var(--accent);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.dash-stat-body{display:flex;flex-direction:column;gap:1px;min-width:0}.dash-stat-label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.dash-stat-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:800;margin-top:2px}.dash-stat-sub{color:#64748b;color:var(--text-secondary);font-size:.75rem;margin-top:1px}.dash-canvas-section{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden}.dash-section-header{align-items:center;display:flex;justify-content:space-between;padding:16px 22px 0}.dash-section-title{color:#0f172a;color:var(--text-primary);font-size:1rem;font-weight:700;margin:0}.dash-device-count{background:#f1f5f9;border-radius:999px;color:#94a3b8;color:var(--text-muted);font-size:.78rem;font-weight:600;padding:4px 12px}.dash-canvas-controls{align-items:center;display:flex;gap:10px}.dash-hide-stale-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:5px;padding:4px 12px;transition:all .2s ease}.dash-hide-stale-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#64748b;color:var(--text-secondary)}.dash-hide-stale-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.dash-hide-stale-btn.active:hover{background:#4f46e5;border-color:#4f46e5}.canvas-container{height:460px;min-height:320px;padding:8px;width:100%}.canvas-svg{border-radius:12px;display:block;height:100%;width:100%}.canvas-pulse-ring{animation:canvasPulse 3s ease-in-out infinite}@keyframes canvasPulse{0%,to{r:36;opacity:.2}50%{r:42;opacity:.08}}.canvas-device-node{transition:transform .15s ease;transition:transform var(--transition-fast)}.canvas-edge-node{cursor:default}.canvas-tooltip{opacity:0;pointer-events:none;transition:opacity .15s ease;transition:opacity var(--transition-fast)}.canvas-device-node:hover+.canvas-tooltip,.canvas-tooltip.visible{opacity:1}.dash-system-section{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);overflow:hidden}.dash-system-toggle{align-items:center;background:#0000;border:none;color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;padding:14px 20px;width:100%}.dash-system-toggle:hover{background:#f8fafc}.dash-system-toggle-label{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;gap:8px}.dash-chevron{color:#94a3b8;color:var(--text-muted);font-size:.8rem;transition:transform .15s ease;transition:transform var(--transition-fast)}.dash-chevron.open{transform:rotate(180deg)}.dash-system-content{animation:expandIn .25s ease;display:flex;flex-direction:column;gap:20px;padding:0 20px 20px}@keyframes expandIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dash-system-group{border-top:1px solid #f1f5f9;padding-top:16px}.dash-group-title{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.82rem;font-weight:700;gap:6px;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.dash-mini-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.dash-mini-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;border-radius:var(--radius-sm);padding:10px 12px}.dash-mini-label{color:#94a3b8;color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.dash-mini-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:.92rem;font-variant-numeric:tabular-nums;font-weight:700}.dash-mini-value.pill-ok{color:#22c55e;color:var(--success)}.dash-mini-value.pill-err{color:#ef4444;color:var(--danger)}.dash-wan-list{grid-gap:8px;display:grid;gap:8px}.dash-wan-compact{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;border-radius:var(--radius-sm);padding:10px 14px}.dash-wan-name{color:#6366f1;color:var(--accent);font-size:.88rem;font-weight:700;margin-bottom:4px}.dash-wan-stats{color:#64748b;color:var(--text-secondary);display:flex;font-size:.78rem;gap:12px}.dash-wan-errors.has-errors{color:#ef4444;color:var(--danger);font-weight:600}.dash-wan-meta{color:#94a3b8;color:var(--text-muted);font-size:.72rem;margin-top:4px}.dash-dhcp-list{grid-gap:4px;display:grid;gap:4px}.dash-dhcp-item{grid-gap:8px;background:#f8fafc;border-radius:6px;color:#64748b;color:var(--text-secondary);display:grid;font-size:.78rem;gap:8px;grid-template-columns:1fr 1fr 1fr 1fr;padding:6px 10px}.dash-dhcp-ip{color:#6366f1;color:var(--accent);font-weight:700}.dash-dhcp-mac{font-family:JetBrains Mono,monospace;font-size:.72rem}.dash-dhcp-host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-dhcp-exp{color:#94a3b8;color:var(--text-muted);font-size:.72rem;text-align:right}.dash-empty-state{color:#64748b;color:var(--text-secondary);flex-direction:column;min-height:60vh;text-align:center}.dash-empty-icon,.dash-empty-state{align-items:center;display:flex;justify-content:center}.dash-empty-icon{background:linear-gradient(135deg,#6366f11a,#22d3ee14);border-radius:50%;color:#6366f1;color:var(--accent);height:80px;margin-bottom:20px;width:80px}.dash-empty-state h2{color:#0f172a;color:var(--text-primary);font-size:1.5rem;font-weight:800;margin:0 0 8px}.dash-empty-state p{color:#94a3b8;color:var(--text-muted);font-size:.95rem;margin:0}.drawer-backdrop{animation:backdropIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;inset:0;position:fixed;z-index:100}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.drawer{animation:drawerSlideIn .3s cubic-bezier(.4,0,.2,1);background:#0f172a;bottom:0;box-shadow:-12px 0 40px #0000004d;color:#e2e8f0;max-width:90vw;overflow-y:auto;position:fixed;right:0;top:0;width:380px;z-index:101}@keyframes drawerSlideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-header{align-items:flex-start;border-bottom:1px solid #94a3b81a;display:flex;justify-content:space-between;padding:24px 20px 16px}.drawer-header-info{flex:1 1;min-width:0}.drawer-title{color:#f1f5f9;font-size:1.2rem;font-weight:800;margin:0;word-break:break-word}.drawer-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:6px;margin-top:6px;padding:4px 10px}.drawer-status.active{background:#22c55e26;color:#4ade80}.drawer-status.stale{background:#94a3b826;color:#94a3b8}.drawer-status-dot{border-radius:50%;height:6px;width:6px}.drawer-status.active .drawer-status-dot{background:#22c55e;box-shadow:0 0 5px #22c55e80}.drawer-status.stale .drawer-status-dot{background:#64748b}.drawer-close{background:#0000;border:1px solid #94a3b826;border-radius:8px;color:#94a3b8;cursor:pointer;flex-shrink:0;padding:6px;transition:all .15s ease;transition:all var(--transition-fast)}.drawer-close:hover{background:#ef44441a;border-color:#ef444433;color:#f87171}.drawer-section{border-bottom:1px solid #94a3b80f;padding:16px 20px}.drawer-section-title{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.drawer-meta-grid{grid-gap:10px;display:grid;gap:10px}.drawer-meta-item{align-items:center;display:flex;justify-content:space-between}.drawer-meta-label{align-items:center;color:#64748b;display:flex;font-size:.78rem}.drawer-meta-value{color:#e2e8f0;font-size:.85rem;font-weight:600}.drawer-meta-value.mono{font-family:JetBrains Mono,monospace;font-size:.78rem}.drawer-traffic-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:12px}.drawer-traffic-card{align-items:flex-start;border:1px solid #94a3b814;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:10px;padding:14px}.drawer-traffic-card.upload{background:#6366f10f}.drawer-traffic-card.download{background:#22d3ee0f}.drawer-traffic-icon{margin-top:2px}.drawer-traffic-card.upload .drawer-traffic-icon{color:#818cf8;color:var(--accent-light)}.drawer-traffic-card.download .drawer-traffic-icon{color:#22d3ee;color:var(--info)}.drawer-traffic-label{color:#64748b;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.drawer-traffic-value{font-feature-settings:"tnum";color:#f1f5f9;font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:800;margin-top:2px}.drawer-traffic-pkts{color:#64748b;font-size:.72rem;margin-top:1px}.drawer-total-bar{align-items:center;background:#94a3b80f;border-radius:8px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:10px 14px}.drawer-total-label{color:#64748b;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.drawer-total-value{color:#e2e8f0;font-size:.95rem;font-weight:800}.drawer-donut-container{display:flex;justify-content:center;margin-bottom:16px}.drawer-donut{display:block;max-height:160px;max-width:160px}.drawer-app-list{grid-gap:8px;display:grid;gap:8px}.drawer-app-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:110px 1fr 70px}.drawer-app-info{align-items:center;display:flex;gap:6px;min-width:0}.drawer-app-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.drawer-app-name{color:#e2e8f0;font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-app-bar-wrap{background:#94a3b81a;border-radius:3px;height:6px;overflow:hidden}.drawer-app-bar{border-radius:3px;height:100%;opacity:.8;transition:width .4s ease}.drawer-app-stats{align-items:flex-end;display:flex;flex-direction:column}.drawer-app-pct{color:#e2e8f0;font-size:.72rem;font-weight:700}.drawer-app-count{color:#64748b;font-size:.65rem}.drawer-empty{color:#475569;padding:24px;text-align:center}.drawer-empty p{color:#475569;font-size:.82rem;margin:8px 0 0}.panel{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden;padding:20px 22px 24px;position:relative}.panel:before{background:linear-gradient(90deg,#6366f1,#22d3ee,#38bdf8);background:linear-gradient(90deg,var(--accent),var(--info),#38bdf8);content:"";height:3px;left:0;opacity:.5;position:absolute;right:0;top:0}.panel-title{color:#0f172a;color:var(--text-primary);font-size:.95rem;font-weight:700;margin-bottom:8px;padding-left:12px;position:relative}.panel-title:before{background:#6366f1;background:var(--accent);border-radius:999px;content:"";height:14px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.panel-sub{color:#64748b;color:var(--text-secondary);font-size:.82rem;margin-bottom:12px}.panel-note{color:#94a3b8;color:var(--text-muted);font-size:.78rem;margin-top:10px}.panel-error{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius-sm);color:#991b1b;font-size:.82rem;margin-top:10px;padding:8px 12px}.stat-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:12px}.stat-card{background:#fafbfe;border:1px solid #f1f5f9;border-radius:12px;border-radius:var(--radius-md);padding:12px 14px}.stat-label{color:#94a3b8;color:var(--text-muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.stat-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;margin-top:4px}.pill-ok{background:#22c55e1f;color:#16a34a}.pill-err,.pill-ok{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:600;padding:2px 10px}.pill-err{background:#ef44441f;color:#dc2626}.hero{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.hero h1{color:#0f172a;color:var(--text-primary);font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.hero p{color:#64748b;color:var(--text-secondary);font-size:.88rem;margin:0;max-width:560px}.summary-card{background:#0f172a;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 12px 24px #0f172a40;color:#e2e8f0;min-width:260px;padding:16px 20px}.summary-title{color:#94a3b8;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.summary-value{font-size:.95rem;font-weight:600;margin-top:8px}.grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.apply-btn{background:#4f46e5;background:var(--accent-dark);border:none;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 8px 20px #4f46e540;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;margin-top:14px;padding:11px 16px;transition:all .25s ease;transition:all var(--transition-normal);width:100%}.apply-btn:hover{background:#6366f1;background:var(--accent);box-shadow:0 12px 28px #4f46e559;transform:translateY(-1px)}.secondary-btn{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;border-radius:var(--radius-md);color:#3730a3;cursor:pointer;font-size:.88rem;font-weight:700;padding:11px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.secondary-btn:hover{background:#e0e7ff}.danger-btn{background:#fff1f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#b91c1c;cursor:pointer;font-size:.88rem;font-weight:700;padding:11px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.danger-btn:hover{background:#fee2e2}.apply-btn:disabled,.danger-btn:disabled,.secondary-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.action-row{align-items:center;display:flex;gap:10px;margin-top:14px}.action-panel .action-row{align-items:center;flex-wrap:wrap}.node-list{grid-gap:8px;display:grid;gap:8px}.node-card{align-items:center;background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:10px 14px;text-align:left;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.node-card:hover{border-color:#c7d2fe;box-shadow:0 4px 12px #4f46e51a}.node-card.selected{background:#eef2ff;border-color:#6366f1;border-color:var(--accent);box-shadow:0 6px 16px #4f46e526}.node-title{color:#0f172a;color:var(--text-primary);font-size:.9rem;font-weight:600;word-break:break-all}.node-meta{color:#64748b;color:var(--text-secondary);font-size:.72rem;margin-top:2px}.node-pill{background:#4f46e51a;border-radius:999px;color:#4338ca;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:5px 10px;text-transform:uppercase}.tp-panel{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);grid-column:1/-1;padding:24px}.tp-panel-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.tp-panel-title{color:#0f172a;color:var(--text-primary);font-size:1.05rem;font-weight:800;margin:0 0 2px}.tp-panel-sub{color:#64748b;color:var(--text-secondary);font-size:.8rem;margin:0}.tp-filter-row{background:#f1f5f9;border-radius:999px;display:flex;gap:4px;padding:3px}.tp-filter-btn{background:#0000;border:none;border-radius:999px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.tp-filter-btn:hover{color:#0f172a;color:var(--text-primary)}.tp-filter-btn--active{background:#fff;box-shadow:0 1px 4px #0f172a14;color:#6366f1;color:var(--accent)}.tp-group-label{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;margin:16px 0 8px;padding-left:2px;text-transform:uppercase}.tp-group-label:first-of-type{margin-top:0}.tc-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.tc-grid--apps{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.tc-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:10px 12px;position:relative;transition:all .15s ease;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.tc-card:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #0f172a12;transform:translateY(-2px)}.tc-card--selected{border-color:#6366f1;border-color:var(--tc-accent,var(--accent));box-shadow:0 6px 24px color-mix(in srgb,#6366f1 20%,#0000);box-shadow:0 6px 24px color-mix(in srgb,var(--tc-accent,var(--accent)) 20%,#0000)}.tc-card--selected:hover{transform:translateY(-2px)}.tc-selected-bar{border-radius:0 0 16px 16px;border-radius:0 0 var(--radius-lg) var(--radius-lg);bottom:0;height:3px;left:0;position:absolute;right:0}.tc-card-header{gap:8px}.tc-card-header,.tc-card-icon{align-items:center;display:flex}.tc-card-icon{border-radius:8px;flex-shrink:0;font-size:.9rem;height:28px;justify-content:center;width:28px}.tc-app-emoji{font-size:1rem;line-height:1}.tc-card-label{color:#0f172a;color:var(--text-primary);flex:1 1;font-size:.82rem;font-weight:700;min-width:0}.tc-card-hint,.tc-card-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-card-hint{font-size:.68rem;line-height:1.3;padding-left:36px}.tc-card-hint,.tc-pkt-badge{color:#64748b;color:var(--text-secondary)}.tc-pkt-badge{font-feature-settings:"tnum";background:#f1f5f9;border-radius:999px;flex-shrink:0;font-size:.6rem;font-variant-numeric:tabular-nums;font-weight:600;margin-left:auto;padding:2px 7px}.tp-inherit-note{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;border-radius:var(--radius-md);color:#9a3412;display:flex;font-size:.78rem;gap:6px;margin-top:14px;padding:10px 14px}.tp-applied-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);margin-top:20px;padding-top:18px}.tp-section-title{color:#0f172a;color:var(--text-primary);font-size:.88rem;font-weight:700;margin:0 0 4px}.tp-section-sub{color:#64748b;color:var(--text-secondary);font-size:.78rem;margin:0 0 12px}.tp-rules-list{grid-gap:6px;display:grid;gap:6px}.tp-empty{background:#fafbfe;border:1px dashed #e2e8f0;border-radius:12px;border-radius:var(--radius-md);color:#94a3b8;color:var(--text-muted);font-size:.8rem;padding:14px 16px;text-align:center}.rule-row{align-items:center;background:#fafbfe;border:1px solid #f1f5f9;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:8px;padding:10px 14px;transition:background .15s ease;transition:background var(--transition-fast)}.rule-row:hover{background:#f1f5f9}.rule-rank{font-feature-settings:"tnum";color:#4338ca;font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:800;min-width:28px}.rule-wan{color:#0f172a;color:var(--text-primary);flex:1 1;font-size:.85rem;font-weight:600}.rule-pill{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.65rem;font-weight:700;gap:4px;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.rule-pill--on{background:#22c55e1a;border-color:#22c55e4d;color:#166534}.rule-pill--off{background:#ef44441a;border-color:#f871714d;color:#991b1b}.rule-comment{color:#94a3b8;color:var(--text-muted);font-size:.72rem;margin-left:auto}.wan-iface-count{align-items:center;background:#f1f5f9;border-radius:999px;color:#64748b;color:var(--text-secondary);display:flex;font-size:.78rem;font-weight:600;gap:5px;padding:5px 12px}.wan-iface-list{grid-gap:10px;display:grid;gap:10px}.wan-iface{background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);padding:14px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.wan-iface:hover{box-shadow:0 2px 10px #0f172a0f}.wan-iface--up{border-left:3px solid #22c55e;border-left:3px solid var(--success)}.wan-iface--down{border-left:3px solid #ef4444;border-left:3px solid var(--danger);opacity:.7}.wan-iface-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.wan-iface-left{align-items:center;display:flex;gap:8px}.wan-iface-icon{color:#6366f1;color:var(--accent)}.wan-iface-name{font-size:.92rem;font-weight:700}.wan-status-dot{border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.06em;padding:3px 10px;text-transform:uppercase}.wan-status-dot--up{background:#dcfce7;color:#166534}.wan-status-dot--down{background:#fee2e2;color:#991b1b}.wan-iface-addrs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.wan-addr-chip{background:#eef2ff;border-radius:6px;color:#4338ca;display:inline-block;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500;padding:2px 8px;word-break:break-all}.wan-addr-chip--none{background:#f1f5f9;color:#94a3b8;color:var(--text-muted);font-family:inherit}.wan-iface-meta{display:flex;flex-wrap:wrap;gap:16px}.wan-meta-item{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.72rem}.prio-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.prio-column{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);overflow:hidden}.prio-column--desired{border-color:color-mix(in srgb,#6366f1 30%,#e2e8f0);border-color:color-mix(in srgb,var(--accent) 30%,#e2e8f0)}.prio-column--rules{border-style:dashed}.prio-col-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;padding:12px 16px}.prio-col-title{color:#0f172a;color:var(--text-primary);font-size:.82rem;font-weight:700}.prio-col-count{align-items:center;background:#6366f1;background:var(--accent);border-radius:999px;color:#fff;display:inline-flex;font-size:.68rem;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.prio-col-items{grid-gap:6px;display:grid;gap:6px;max-height:400px;overflow-y:auto;padding:10px}.prio-available-chip{align-items:center;background:#fafbfe;border:1px solid #f1f5f9;border-radius:12px;border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:10px 12px;transition:all .15s ease;transition:all var(--transition-fast)}.prio-available-chip:hover{background:#f1f5f9}.prio-available-info{align-items:center;color:#6366f1;color:var(--accent);display:flex;gap:8px}.prio-avail-name{color:#0f172a;color:var(--text-primary);font-size:.85rem;font-weight:600}.prio-avail-addr{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.7rem}.prio-add-btn{align-items:center;background:#0000;border:1px solid #6366f1;border:1px solid var(--accent);border-radius:999px;color:#6366f1;color:var(--accent);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:28px}.prio-add-btn:hover{background:#6366f1;background:var(--accent);color:#fff}.prio-all-added{color:#22c55e;color:var(--success);font-size:.8rem;font-weight:600;gap:6px;justify-content:center;padding:18px}.prio-all-added,.prio-slot{align-items:center;display:flex}.prio-slot{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;border-radius:var(--radius-md);gap:8px;padding:8px 10px;transition:all .15s ease;transition:all var(--transition-fast)}.prio-slot:hover{background:#e0e7ff}.prio-slot-rank{align-items:center;background:#6366f1;background:var(--accent);border-radius:999px;display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.prio-rank-num{color:#fff;font-size:.72rem;font-weight:800}.prio-slot-body{align-items:center;display:flex;flex:1 1;gap:6px;min-width:0}.prio-slot-name{color:#0f172a;color:var(--text-primary);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prio-slot-actions{display:flex;gap:3px}.prio-btn{align-items:center;background:#fff;border:1px solid #c7d2fe;border-radius:6px;color:#475569;cursor:pointer;display:flex;height:26px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:26px}.prio-btn:hover:not(:disabled){background:#e0e7ff;color:#6366f1;color:var(--accent)}.prio-btn:disabled{cursor:not-allowed;opacity:.3}.prio-btn--danger{border-color:#fecaca;color:#b91c1c}.prio-btn--danger:hover:not(:disabled){background:#fee2e2;color:#991b1b}.prio-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);display:flex;gap:12px;margin-top:20px;padding-top:18px}.prio-stage-btn{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 24px;transition:all .15s ease;transition:all var(--transition-fast)}.prio-stage-btn:hover:not(:disabled){background:#eef2ff;border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent)}.prio-stage-btn:disabled{cursor:not-allowed;opacity:.5}.prio-apply-btn{background:#6366f1;background:var(--accent);border:none;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 8px #6366f14d;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:10px 28px;transition:all .15s ease;transition:all var(--transition-fast)}.prio-apply-btn:hover:not(:disabled){background:#4f46e5;background:var(--accent-dark);box-shadow:0 4px 14px #6366f166}.prio-apply-btn:disabled{cursor:not-allowed;opacity:.5}.tp-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#991b1b;display:flex;font-size:.82rem;font-weight:500;gap:8px;margin-top:12px;padding:10px 14px}.tf-flow{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);display:flex;gap:0;grid-column:1/-1;min-height:480px;overflow:hidden}.tf-menu{background:#f8fafc;border-right:1px solid #e2e8f0;border-right:1px solid var(--card-border);flex-shrink:0;max-width:300px;min-width:220px;width:260px}.tf-menu,.tf-menu-head{display:flex;flex-direction:column}.tf-menu-head{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);gap:8px;padding:12px 12px 8px}.tf-menu-search{align-items:center;display:flex;position:relative}.tf-search-ico{color:#64748b;color:var(--text-secondary);left:8px;pointer-events:none;position:absolute}.tf-search-input{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-size:.76rem;padding:6px 24px 6px 28px;transition:border-color .15s;width:100%}.tf-search-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px #6366f11a;outline:none}.tf-search-clear{background:none;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;padding:2px;position:absolute;right:4px}.tf-filter-pills{display:flex;flex:1 1;gap:2px}.tf-filter-row{gap:6px}.tf-filter-row,.tf-members-btn{align-items:center;display:flex}.tf-members-btn{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;flex-shrink:0;height:26px;justify-content:center;transition:all .12s;width:26px}.tf-members-btn:hover{background:#e2e8f0;color:#0f172a;color:var(--text-primary)}.tf-members-btn--on{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff}.tf-members-btn--on:hover{background:#4f46e5;background:var(--accent-dark);color:#fff}.tf-pill{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.7rem;font-weight:600;padding:4px 0;text-align:center;transition:all .12s}.tf-pill:hover{background:#e2e8f0;color:#0f172a;color:var(--text-primary)}.tf-pill--on{background:#6366f1;background:var(--accent);color:#fff}.tf-pill--on:hover{background:#4f46e5;background:var(--accent-dark);color:#fff}.tf-menu-body{flex:1 1;overflow-y:auto;padding:4px 0}.tf-group-lbl{color:#94a3b8;color:var(--text-muted);font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:10px 14px 4px;text-transform:uppercase}.tf-item{align-items:center;border-left:3px solid #0000;cursor:pointer;display:flex;gap:8px;padding:7px 12px;transition:all .1s}.tf-item--sel,.tf-item:hover{background:#eef2ff}.tf-item--sel{border-left-color:#6366f1;border-left-color:var(--tf-accent,var(--accent))}.tf-item-ico{align-items:center;border-radius:7px;display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.tf-item-name{color:#0f172a;color:var(--text-primary);flex:1 1;font-size:.78rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-item-pkts{background:#e2e8f0;border-radius:999px;color:#64748b;color:var(--text-secondary);font-size:.6rem;font-weight:600;padding:1px 6px}.tf-item-arrow{color:#6366f1;color:var(--accent);flex-shrink:0}.tf-menu-empty{color:#94a3b8;color:var(--text-muted);font-size:.78rem;padding:24px;text-align:center}.tf-editor{min-width:0;transition:opacity .2s}.tf-editor,.tf-editor-empty{display:flex;flex:1 1;flex-direction:column}.tf-editor-empty{align-items:center;color:#94a3b8;color:var(--text-muted);font-size:.82rem;gap:8px;justify-content:center}.tf-ed-head{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);gap:12px;padding:16px 20px}.tf-ed-badge,.tf-ed-head{align-items:center;display:flex}.tf-ed-badge{border-radius:10px;flex-shrink:0;height:36px;justify-content:center;width:36px}.tf-ed-title{flex:1 1;min-width:0}.tf-ed-title h4{color:#0f172a;color:var(--text-primary);font-size:.92rem;font-weight:800;margin:0}.tf-ed-title p{font-size:.74rem;margin:2px 0 0}.tf-ed-title p,.tf-ed-wan-count{color:#64748b;color:var(--text-secondary)}.tf-ed-wan-count{align-items:center;background:#f1f5f9;border-radius:999px;display:flex;flex-shrink:0;font-size:.76rem;font-weight:700;gap:4px;padding:4px 10px}.tf-ed-cols{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 1fr;min-height:0}.tf-ed-col{border-right:1px solid #e2e8f0;border-right:1px solid var(--card-border);display:flex;flex-direction:column;min-height:0}.tf-ed-col:last-child{border-right:none}.tf-ed-col--prio{background:color-mix(in srgb,#6366f1 3%,#fff);background:color-mix(in srgb,var(--tf-accent,var(--accent)) 3%,#fff)}.tf-ed-col-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);color:#0f172a;color:var(--text-primary);display:flex;font-size:.76rem;justify-content:space-between;padding:8px 14px}.tf-badge,.tf-ed-col-head{align-items:center;font-weight:700}.tf-badge{background:#6366f1;background:var(--accent);border-radius:999px;color:#fff;display:inline-flex;font-size:.64rem;height:20px;justify-content:center;min-width:20px;padding:0 5px}.tf-badge--muted{background:#e2e8f0;color:#64748b;color:var(--text-secondary)}.tf-ed-col-body{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:6px 8px}.tf-drop-zone{min-height:100px}.tf-avail{align-items:center;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:8px;padding:7px 10px;transition:background .1s}.tf-avail:hover{background:#f1f5f9}.tf-dot{background:#ef4444;background:var(--danger);border-radius:999px;flex-shrink:0;height:7px;opacity:.5;width:7px}.tf-dot--up{background:#22c55e;background:var(--success);box-shadow:0 0 5px #22c55e66;opacity:1}.tf-avail-name{color:#0f172a;color:var(--text-primary);flex:1 1;font-size:.82rem;font-weight:600}.tf-avail-addr{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.68rem}.tf-avail-add{align-items:center;background:#0000;border:1px solid #6366f1;border:1px solid var(--accent);border-radius:999px;color:#6366f1;color:var(--accent);cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;transition:all .12s;width:26px}.tf-avail-add:hover{background:#6366f1;background:var(--accent);color:#fff}.tf-all-added{align-items:center;color:#22c55e;color:var(--success);display:flex;font-size:.78rem;font-weight:600;gap:6px;justify-content:center;padding:20px}.tf-empty-sm{color:#94a3b8;color:var(--text-muted);font-size:.78rem;padding:16px;text-align:center}.tf-dnd{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;border-radius:var(--radius-md);cursor:grab;display:flex;gap:6px;padding:7px 8px;transition:all .12s;-webkit-user-select:none;user-select:none}.tf-dnd:active{cursor:grabbing}.tf-dnd--drag{opacity:.3;transform:scale(.97)}.tf-dnd--over{background:#e0e7ff;border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,#6366f1 20%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,#0000);transform:translateY(-2px)}.tf-dnd-grip{background-image:radial-gradient(circle,#94a3b8 1.2px,#0000 0);background-size:4px 4px;flex-shrink:0;height:14px;opacity:.35;width:6px}.tf-dnd:hover .tf-dnd-grip{opacity:.7}.tf-dnd-rank{align-items:center;background:#6366f1;background:var(--accent);border-radius:999px;color:#fff;display:flex;flex-shrink:0;font-size:.66rem;font-weight:800;height:22px;justify-content:center;width:22px}.tf-dnd-icon{color:#6366f1;color:var(--accent);flex-shrink:0}.tf-dnd-name{color:#0f172a;color:var(--text-primary);flex:1 1;font-size:.82rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-dnd-rm{align-items:center;background:#0000;border:none;border-radius:6px;color:#b91c1c;cursor:pointer;display:flex;height:22px;justify-content:center;opacity:0;transition:all .12s;width:22px}.tf-dnd:hover .tf-dnd-rm{opacity:1}.tf-dnd-rm:hover{background:#fee2e2}.tf-toggle{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:6px;padding:10px 20px;transition:color .12s;-webkit-user-select:none;user-select:none}.tf-toggle:hover{color:#0f172a;color:var(--text-primary)}.tf-toggle-chev{flex-shrink:0;transition:transform .2s ease}.tf-toggle-chev--open{transform:rotate(90deg)}.tf-collapse-body{display:flex;flex-direction:column;gap:4px;padding:0 20px 10px}.tf-ed-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);display:flex;justify-content:flex-end;padding:12px 20px}.tf-apply-btn{align-items:center;background:#6366f1;background:var(--accent);border:none;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 8px #6366f14d;color:#fff;cursor:pointer;display:inline-flex;font-size:.84rem;font-weight:700;gap:6px;padding:9px 28px;transition:all .15s}.tf-apply-btn:hover:not(:disabled){background:#4f46e5;background:var(--accent-dark);box-shadow:0 4px 14px #6366f166;transform:translateY(-1px)}.tf-apply-btn:disabled{cursor:not-allowed;opacity:.5}.tf-spinner{animation:tp-spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:999px;border-top-color:#fff;display:inline-block;height:13px;width:13px}@keyframes tp-spin{to{transform:rotate(1turn)}}.tf-item--inh{opacity:.72}.tf-item--inh:hover{opacity:.92}.tf-item-inh-tag{align-items:center;background:#6366f114;color:#818cf8;display:inline-flex;gap:2px}.tf-item-inh-tag,.tf-item-override-tag{border-radius:999px;flex-shrink:0;font-size:.54rem;font-weight:700;padding:1px 5px;text-transform:uppercase}.tf-item-override-tag{background:#f59e0b1a;color:#d97706}.tf-inherit-banner{align-items:center;background:#6366f10a;border-bottom:1px dashed #6366f133;color:#64748b;color:var(--text-secondary);display:flex;font-size:.76rem;gap:8px;line-height:1.35;padding:10px 20px}.tf-inherit-banner strong{color:#6366f1;color:var(--accent);font-weight:700}.tf-inherit-banner svg{color:#6366f1;color:var(--accent);flex-shrink:0}.tf-app-members{border-left:2px solid #6366f11f;margin-bottom:2px;margin-left:22px;padding:2px 0 4px 22px}.tf-app-member{align-items:center;border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;gap:6px;padding:3px 10px;transition:background .1s}.tf-app-member:hover{background:#eef2ff;color:#0f172a;color:var(--text-primary)}.tf-app-member--sel{background:#6366f114;color:#6366f1;color:var(--accent)}.tf-app-member-name{font-size:.68rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-override-banner{align-items:center;background:#f59e0b0a;border-bottom:1px solid #f59e0b26;color:#64748b;color:var(--text-secondary);display:flex;font-size:.76rem;gap:8px;padding:8px 20px}.tf-override-banner svg{color:#d97706;flex-shrink:0}.tf-revert-btn{align-items:center;background:#0000;border:1px solid #6366f140;border-radius:12px;border-radius:var(--radius-md);color:#6366f1;color:var(--accent);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:.72rem;font-weight:700;gap:4px;margin-left:auto;padding:4px 10px;transition:all .12s}.tf-revert-btn:hover:not(:disabled){background:#6366f10f;border-color:#6366f1;border-color:var(--accent)}.tf-revert-btn:disabled{cursor:not-allowed;opacity:.4}@media (max-width:768px){.tf-flow{flex-direction:column;min-height:auto}.tf-menu{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);border-right:none;max-height:260px;max-width:none;width:100%}.tf-ed-cols{grid-template-columns:1fr}}.qos-panel--flow{display:flex;flex-direction:column;gap:.5rem}.qf-flow{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);display:flex;min-height:460px;overflow:hidden}.qf-menu{background:#f8fafc;border-right:1px solid #e2e8f0;border-right:1px solid var(--card-border);flex-shrink:0;min-width:240px;width:280px}.qf-menu,.qf-menu-head{display:flex;flex-direction:column}.qf-menu-head{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);gap:6px;padding:10px 10px 8px}.qf-search-wrap{align-items:center;display:flex;position:relative}.qf-search-ico{color:#64748b;color:var(--text-secondary);left:8px;pointer-events:none;position:absolute}.qf-search-input{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-size:.76rem;padding:5px 24px 5px 26px;width:100%}.qf-search-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px #6366f11a;outline:none}.qf-search-clear{background:none;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;padding:2px;position:absolute;right:4px}.qf-head-btns{display:flex;gap:3px;justify-content:flex-end}.qf-head-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;position:relative;transition:all .12s;width:28px}.qf-head-btn:hover{color:#6366f1;color:var(--accent)}.qf-head-btn--on,.qf-head-btn:hover{border-color:#6366f1;border-color:var(--accent)}.qf-head-btn--on{background:#6366f1;background:var(--accent);color:#fff}.qf-dot-badge{background:#f59e0b;border-radius:999px;height:5px;position:absolute;right:3px;top:3px;width:5px}.qf-menu-body{flex:1 1;overflow-y:auto;padding:2px 0}.qf-tier{margin-bottom:2px}.qf-tier-head{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.66rem;font-weight:700;gap:6px;letter-spacing:.05em;padding:6px 12px;text-transform:uppercase}.qf-tier-name{color:#94a3b8;color:var(--tier-color,var(--text-muted))}.qf-tier-count{background:#0000000a;border-radius:999px;color:#64748b;color:var(--text-secondary);font-size:.58rem;padding:0 5px}.qf-tier-empty{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-style:italic;padding:4px 12px 6px 30px}.qf-item{align-items:center;border-left:3px solid #0000;cursor:pointer;display:flex;gap:6px;padding:6px 10px 6px 28px;transition:all .1s}.qf-item--sel,.qf-item:hover{background:#eef2ff}.qf-item--sel{border-left-color:#6366f1;border-left-color:var(--accent)}.qf-item--inh{opacity:.6}.qf-item--inh:hover{opacity:.85}.qf-item-name{color:#0f172a;color:var(--text-primary);flex:1 1;font-size:.78rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qf-item-name--cat,.qf-tag{font-weight:700}.qf-tag{border-radius:999px;flex-shrink:0;font-size:.54rem;padding:1px 5px;text-transform:uppercase}.qf-tag.inh{background:#6366f112;color:#818cf8}.qf-item-dots{display:flex;flex-shrink:0;gap:2px}.qf-qdot{background:#ef4444;border-radius:50%;height:5px;width:5px}.qf-qdot.ok{background:#22c55e}.qf-qdot.fail{animation:qos-pulse 1.5s ease-in-out infinite}.qf-item-arrow{color:#6366f1;color:var(--accent);flex-shrink:0}.qf-detail{min-width:0}.qf-detail,.qf-detail-empty{display:flex;flex:1 1;flex-direction:column}.qf-detail-empty{align-items:center;color:#94a3b8;color:var(--text-muted);font-size:.82rem;gap:8px;justify-content:center}.qf-det-head{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);border-left:3px solid #6366f1;border-left:3px solid var(--accent);gap:12px;justify-content:space-between;padding:14px 20px}.qf-det-head,.qf-det-title-row{align-items:center;display:flex}.qf-det-title-row{flex:1 1;gap:10px;min-width:0}.qf-det-title{color:#0f172a;color:var(--text-primary);font-size:.95rem;font-weight:800;margin:0}.qf-det-sub{color:#64748b;color:var(--text-secondary);font-size:.72rem;margin:1px 0 0}.qf-tier-select{appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.78rem;font-weight:600;padding:6px 28px 6px 10px;transition:border-color .15s}.qf-tier-select:focus,.qf-tier-select:hover{border-color:#6366f1;border-color:var(--accent)}.qf-tier-select:focus{box-shadow:0 0 0 2px #6366f11a;outline:none}.qf-tier-select:disabled{cursor:not-allowed;opacity:.5}.qf-det-body{animation:qf-fade-in .15s ease;display:flex;flex:1 1;flex-direction:column;gap:14px;overflow-y:auto;padding:16px 20px}@keyframes qf-fade-in{0%{opacity:0;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}.qf-det-body--edit{background:#fafbfe}.qf-thresh-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}.qf-thresh-cell{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;padding:8px 10px}.qf-thresh-label{color:#64748b;color:var(--text-secondary);font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.qf-thresh-value{color:#0f172a;color:var(--text-primary);font-size:.84rem;font-weight:600;margin-top:2px}.qf-section-label{color:#64748b;color:var(--text-secondary);font-size:.62rem;font-weight:700;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.qf-wan-list{display:flex;flex-direction:column;gap:3px}.qf-wan-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;font-size:.78rem;gap:8px;padding:6px 10px}.qf-wan-row--fail{background:#ef444408;border-color:#ef444440}.qf-wan-name{color:#0f172a;color:var(--text-primary);font-weight:600;min-width:4rem}.qf-wan-score{font-size:.8rem;font-weight:700;min-width:2rem;text-align:right}.qf-wan-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.62rem;font-weight:700;gap:3px;margin-left:auto;padding:2px 7px}.qf-wan-badge.ok{background:#22c55e1a;color:#16a34a}.qf-wan-badge.fail{background:#ef44441a;color:#dc2626}.qf-inherit-note{align-items:center;background:#6366f10a;border:1px dashed #6366f133;border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);display:flex;font-size:.76rem;gap:6px;padding:8px 10px}.qf-inherit-note strong{color:#6366f1;color:var(--accent)}.qf-det-actions{display:flex;flex-wrap:wrap;gap:8px}.qf-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.78rem;font-weight:600;gap:4px;padding:7px 14px;transition:all .12s}.qf-btn:hover{border-color:#64748b;border-color:var(--text-secondary);color:#0f172a;color:var(--text-primary)}.qf-btn.primary{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff}.qf-btn.primary:hover{background:#4f46e5}.qf-btn.primary:disabled{cursor:not-allowed;opacity:.5}.qf-btn.danger{border-color:#dc262640;color:#dc2626}.qf-btn.danger:hover{background:#dc26260d;border-color:#dc2626}.qf-btn.danger:disabled{cursor:not-allowed;opacity:.5}.qf-edit-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.qf-edit-field{display:flex;flex-direction:column;gap:3px}.qf-edit-field label{color:#64748b;color:var(--text-secondary);font-size:.62rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.qf-edit-field input,.qf-edit-field select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:6px 8px;width:100%}.qf-edit-field input:focus,.qf-edit-field select:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px #6366f11a;outline:none}.qf-edit-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}.qf-edit-btns{display:flex;gap:6px}.qf-toggle-pill{background:#94a3b81f;border:none;border-radius:999px;color:#94a3b8;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:700;padding:5px 12px;transition:all .15s}.qf-toggle-pill.on{background:#22c55e1f;color:#16a34a}@media (max-width:768px){.qf-flow{flex-direction:column;min-height:auto}.qf-menu{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);border-right:none;max-height:280px;min-width:0;width:100%}.qf-edit-grid,.qf-thresh-grid{grid-template-columns:1fr 1fr}}.health-panel{grid-column:1/-1}.health-panel-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.health-refresh-ts{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:400}.health-wan-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:14px}.health-wan-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden;padding:20px 22px 16px;position:relative;transition:all .25s ease;transition:all var(--transition-normal)}.health-wan-card:hover{box-shadow:0 8px 25px #00000014;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.health-wan-card:before{background:linear-gradient(90deg,#6366f1,#22d3ee,#22c55e);background:linear-gradient(90deg,var(--accent),var(--info),var(--success));content:"";height:3px;left:0;opacity:.5;position:absolute;right:0;top:0}.health-wan-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.health-wan-name-row{align-items:center;display:flex;gap:8px}.health-wan-name{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:800}.health-wan-idx{background:#6366f114;border-radius:999px;color:#6366f1;color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:3px 8px;text-transform:uppercase}.health-metrics-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:16px}.health-metric-box{align-items:center;background:#fafbfe;border:1px solid #f1f5f9;border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:8px;padding:8px 10px}.health-metric-icon{align-items:center;border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.health-metric-label{color:#94a3b8;color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.health-metric-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:700;margin-top:1px}.health-bars{background:#fafbfe;border:1px solid #f1f5f9;border-radius:8px;border-radius:var(--radius-sm);margin-bottom:14px;padding:10px}.health-profiles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.health-profile-chip{align-items:center;border-radius:999px;display:flex;font-size:.72rem;font-weight:700;gap:6px;padding:5px 12px}.health-profile-label{font-size:.62rem;letter-spacing:.06em;opacity:.8;text-transform:uppercase}.health-profile-score{font-size:.78rem;font-weight:800}.health-passive{background:#fafbfe;border:1px solid #f1f5f9;border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:3px;margin-bottom:10px;padding:8px 10px}.health-passive-row{align-items:center;display:flex;font-size:.75rem;gap:6px}.health-passive-label{color:#6366f1;color:var(--accent);font-size:.65rem;font-weight:700;min-width:22px;text-transform:uppercase}.health-passive-value{font-feature-settings:"tnum";color:#334155;font-variant-numeric:tabular-nums;font-weight:600}.health-passive-sep{color:#cbd5e1}.health-footer{font-feature-settings:"tnum";border-top:1px solid #f1f5f9;color:#94a3b8;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.68rem;font-variant-numeric:tabular-nums;gap:10px;padding-top:8px}.health-tp-toggle{align-items:center;background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;gap:14px;justify-content:space-between;margin-bottom:4px;margin-top:6px;padding:12px 16px}.health-tp-toggle-text{flex:1 1}.health-tp-toggle-title{color:#0f172a;color:var(--text-primary);font-size:.85rem;font-weight:700}.health-tp-toggle-desc{color:#64748b;color:var(--text-secondary);font-size:.75rem;margin-top:2px}.health-toggle-btn{border:none;border-radius:13px;cursor:pointer;flex-shrink:0;height:26px;padding:0;position:relative;transition:background .3s ease;width:48px}.health-toggle-btn.on{background:#4f46e5;background:var(--accent-dark);box-shadow:0 3px 10px #4f46e54d}.health-toggle-btn.off{background:#cbd5e1}.health-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.health-toggle-knob{background:#fff;border-radius:50%;box-shadow:0 1px 4px #00000026;height:20px;position:absolute;top:3px;transition:left .3s ease;width:20px}.health-toggle-btn.on .health-toggle-knob{left:25px}.health-toggle-btn.off .health-toggle-knob{left:3px}.diag-panel{grid-column:1/-1}.diag-section{border-top:1px solid #f1f5f9;margin-top:18px;padding-top:14px}.diag-section:first-child{border-top:none;margin-top:6px;padding-top:0}.diag-section-title{color:#334155;font-size:.88rem;font-weight:700;margin-bottom:10px;padding-left:10px;position:relative}.diag-section-title:before{background:#22d3ee;background:var(--info);border-radius:999px;content:"";height:12px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.diag-refresh-ts{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:400}.diag-table-wrap{margin-top:6px;overflow-x:auto}.diag-table{border-collapse:collapse;font-size:.78rem;width:100%}.diag-table th{background:#fafbfe;border-bottom:2px solid #f1f5f9;color:#94a3b8;color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase}.diag-table td,.diag-table th{padding:6px 10px;white-space:nowrap}.diag-table td{border-bottom:1px solid #f8fafc;color:#334155}.diag-table tbody tr:hover{background:#fafbfe}.diag-table tbody tr.device-stale td,.stale-toggle{color:#94a3b8;color:var(--text-muted)}.stale-toggle{align-items:center;cursor:pointer;display:flex;font-size:.78rem;gap:4px}.stale-chevron,.stale-hint{font-size:.65rem}.stale-hint{font-weight:400;margin-left:6px}.app-badge{background:#eef2ff;border-radius:6px;color:#4338ca;display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px}.diag-events-list{display:flex;flex-direction:column;gap:3px;margin-top:6px;max-height:280px;overflow-y:auto}.diag-event{align-items:baseline;background:#fafbfe;border-radius:6px;display:flex;font-size:.75rem;gap:6px;padding:5px 8px}.event-level{font-size:.65rem;font-weight:700;min-width:40px;text-align:center}.event-source{color:#64748b;color:var(--text-secondary);font-size:.7rem;font-weight:600}.event-msg{color:#334155;flex:1 1}.event-time{color:#94a3b8;color:var(--text-muted);font-size:.68rem;white-space:nowrap}.cloud-panel-v2{display:flex;flex-direction:column;gap:20px;position:relative}.cloud-toast-v2{align-items:center;animation:fadeIn .3s ease;border-radius:12px;border-radius:var(--radius-md);display:flex;font-size:.82rem;font-weight:600;gap:8px;padding:10px 16px}.cloud-toast-v2--ok{background:#dcfce7;border:1px solid #22c55e4d;color:#166534}.cloud-toast-v2--err{background:#fee2e2;border:1px solid #ef44444d;color:#991b1b}.cloud-sel{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);margin-bottom:14px;padding:12px 16px}.cloud-sel-main{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.cloud-sel-title{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;font-size:.86rem;font-weight:700;gap:7px}.cloud-sel-switch{align-items:center;background:#0000;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:8px;padding:0}.cloud-sel-switch:disabled{cursor:default;opacity:.6}.cloud-sel-switch--on{color:#0f172a;color:var(--text-primary)}.cloud-sel-switch-track{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:19px;position:relative;transition:background .14s ease;width:34px}.cloud-sel-switch--on .cloud-sel-switch-track{background:#6366f1;box-shadow:0 1px 3px #6366f159}.cloud-sel-switch-knob{background:#fff;border-radius:999px;height:15px;left:2px;position:absolute;top:2px;transition:transform .14s ease;width:15px}.cloud-sel-switch--on .cloud-sel-switch-knob{transform:translateX(15px)}.cloud-sel-every{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.74rem;font-weight:600;gap:6px}.cloud-sel-every select{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:6px;color:#0f172a;color:var(--text-primary);font:inherit;padding:4px 6px}.cloud-sel-next{color:#94a3b8;color:var(--text-muted);font-size:.7rem}.cloud-sel-fast{background:#f59e0b26;border-radius:999px;color:#b45309;cursor:help;font-size:.64rem;font-weight:700;letter-spacing:.02em;padding:2px 7px}.cloud-sel-run{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;color:#0f172a;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.74rem;font-weight:600;gap:6px;margin-left:auto;padding:6px 12px}.cloud-sel-run:hover:not(:disabled){background:#6366f114}.cloud-sel-run:disabled{cursor:default;opacity:.6}.cloud-sel-note{color:#64748b;color:var(--text-secondary);font-size:.74rem;margin-top:8px}.cloud-card-v2-measure{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-family:JetBrains Mono,monospace;font-size:.66rem;gap:8px;margin-top:3px}.cloud-card-v2-rtt{color:#64748b;color:var(--text-secondary);font-weight:600}.cloud-card-v2-measure--dead{color:#ef4444}.cloud-card-v2-score{background:#f1f5f9;border-radius:999px;color:#64748b;color:var(--text-secondary);font-weight:700;margin-left:auto;padding:1px 6px}.cloud-card-v2-best{background:#22c55e26;border-radius:4px;color:#15803d;font-size:.58rem;font-weight:800;letter-spacing:.04em;margin-left:6px;padding:1px 5px;vertical-align:middle}.cloud-map-tooltip-measure{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:.62rem;margin-top:2px}@media (prefers-color-scheme:dark){.cloud-sel-switch-track{background:#94a3b84d}.cloud-sel-fast{background:#f59e0b33;color:#fbbf24}.cloud-card-v2-score{background:#94a3b826}.cloud-card-v2-best{background:#22c55e33;color:#4ade80}}.cloud-map-wrap{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden}.cloud-map-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:16px 20px}.cloud-map-header-left{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;gap:8px}.cloud-map-header-left h3{font-size:1rem;font-weight:700;margin:0}.cloud-map-legend{align-items:center;display:flex;gap:14px}.cloud-legend-item{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.72rem;font-weight:600;gap:5px}.cloud-legend-dot{border-radius:999px;height:8px;width:8px}.cloud-legend-dot--active{background:#6366f1;box-shadow:0 0 6px #6366f180}.cloud-legend-dot--standby{background:#cbd5e1;border:1px solid #94a3b8}.cloud-map-ts{color:#94a3b8;color:var(--text-muted);font-size:.68rem;margin-left:4px}.cloud-map-svg{background:linear-gradient(180deg,#f8fafc,#eef2ff);color:#0f172a;color:var(--text-primary);display:block;height:auto;max-height:420px;width:100%}.cloud-map-continents{transition:opacity .3s}.cloud-map-label{font-size:8px;letter-spacing:.04em;pointer-events:none;-webkit-user-select:none;user-select:none}.cloud-pin{transition:transform .15s}.cloud-pin:hover .cloud-pin-dot{filter:brightness(1.15)}.cloud-pin--active .cloud-pin-dot{filter:drop-shadow(0 0 6px rgba(99,102,241,.5))}.cloud-line-active{filter:drop-shadow(0 0 3px rgba(99,102,241,.3))}@keyframes cloudSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cloud-spin{animation:cloudSpin 1s linear infinite}.cloud-map-tooltip{background:#0f172a;border-radius:10px;box-shadow:0 8px 24px #0f172a66;color:#e2e8f0;font-size:12px;padding:10px 14px;pointer-events:none;white-space:nowrap}.cloud-map-tooltip-region{align-items:center;display:flex;font-size:12px;font-weight:700;gap:6px;margin-bottom:4px}.cloud-map-tooltip-code{background:#ffffff14;border-radius:4px;color:#94a3b8;font-size:10px;font-weight:500;padding:1px 6px}.cloud-map-tooltip-host{color:#c7d2fe;font-size:11px;font-weight:600}.cloud-map-tooltip-addr{color:#64748b;font-size:10px;margin-top:2px}.cloud-map-tooltip-active{color:#6366f1;font-size:10px;font-weight:700;margin-top:4px}.cloud-anchors-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cloud-card-v2{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:0;overflow:hidden;padding:0;transition:all .15s ease;transition:all var(--transition-fast)}.cloud-card-v2:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #6366f11a;transform:translateY(-1px)}.cloud-card-v2--active{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-color:#6366f1;border-color:var(--accent)}.cloud-card-v2--active:hover{box-shadow:0 6px 20px #6366f126}.cloud-card-v2-topbar{align-items:center;background:#ede9fe;border-bottom:1px solid #6d28d91a;display:flex;justify-content:space-between;padding:5px 10px}.cloud-card-v2--active .cloud-card-v2-topbar{background:#6366f11f}.cloud-card-v2-code{color:#6d28d9;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.02em}.cloud-card-v2-pill{background:#6366f12e;border-radius:999px;color:#4338ca;font-size:.55rem;font-weight:800;letter-spacing:.06em;padding:1px 6px}.cloud-card-v2-row{align-items:center;display:flex;gap:8px;padding:8px 10px}.cloud-card-v2-icon{align-items:center;background:#f1f5f9;border-radius:6px;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.cloud-card-v2--active .cloud-card-v2-icon{background:#6366f11a}.cloud-card-v2-body{flex:1 1;min-width:0}.cloud-card-v2-region{color:#0f172a;color:var(--text-primary);font-size:.78rem;font-weight:600;line-height:1.2}.cloud-card-v2-host{color:#94a3b8;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-card-v2-action{flex-shrink:0}.cloud-card-v2-current{align-items:center;color:#22c55e;color:var(--success);display:flex;padding:4px 8px}.cloud-card-v2-switch{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;color:#3730a3;cursor:pointer;display:flex;font-size:.72rem;font-weight:700;gap:4px;padding:4px 12px;transition:all .15s ease;transition:all var(--transition-fast)}.cloud-card-v2-switch:hover:not(:disabled){background:#e0e7ff;box-shadow:0 4px 12px #6366f126}.cloud-card-v2-switch:disabled{cursor:not-allowed;opacity:.5}.cloud-empty{align-items:center;background:#fff;background:var(--card-bg);border:1px dashed #e2e8f0;border:1px dashed var(--card-border);border-radius:20px;border-radius:var(--radius-xl);color:#94a3b8;color:var(--text-muted);display:flex;flex-direction:column;gap:8px;justify-content:center;padding:60px 20px;text-align:center}.cloud-empty h3{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:8px 0 0}.cloud-empty p{font-size:.85rem;margin:0;max-width:360px}.cloud-empty--small{padding:30px 20px}.cloud-empty--small p{font-size:.8rem}.cloud-add-btn{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;color:#3730a3;cursor:pointer;display:flex;font-size:.68rem;font-weight:700;gap:4px;margin-left:6px;padding:3px 10px;transition:all .15s ease;transition:all var(--transition-fast)}.cloud-add-btn:hover{background:#e0e7ff;box-shadow:0 2px 8px #6366f126}.cloud-add-form{animation:fadeIn .2s ease;background:linear-gradient(135deg,#f5f3ff,#eef2ff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);padding:12px 20px}.cloud-add-form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.cloud-add-field{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:140px}.cloud-add-field--port{flex:0 0 90px;min-width:90px}.cloud-add-field label{color:#6d28d9;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cloud-add-field input{background:#fff;border:1px solid #c7d2fe;border-radius:6px;color:#0f172a;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.78rem;outline:none;padding:6px 10px;transition:border-color .15s,box-shadow .15s}.cloud-add-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.cloud-add-field input::placeholder{color:#a5b4fc;font-weight:500}.cloud-add-submit{align-items:center;background:#6366f1;border:1px solid #6366f1;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.72rem;font-weight:700;gap:5px;padding:6px 14px;transition:all .15s ease;transition:all var(--transition-fast);white-space:nowrap}.cloud-add-submit:hover:not(:disabled){background:#4f46e5;box-shadow:0 4px 12px #6366f14d}.cloud-add-submit:disabled{cursor:not-allowed;opacity:.5}.ec2-panel-root{display:flex;flex-direction:column;gap:20px}.ec2-health-bar{display:flex;justify-content:flex-end}.health-pill{background:#4f46e526;border:1px solid #6366f14d;border-radius:999px;color:#c7d2fe;font-size:.72rem;font-weight:600;padding:5px 12px}.health-pill.ok{background:#16a34a1f;border-color:#22c55e4d;color:#16a34a}.health-pill.down{background:#dc26261f;border-color:#ef44444d;color:#dc2626}.ec2-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:900px){.ec2-grid{grid-template-columns:1fr}}.ec2-actions-col{display:flex;flex-direction:column;gap:20px}.ec2-cred-field{margin-bottom:10px}.ec2-cred-label{color:#64748b;color:var(--text-secondary);display:block;font-size:.72rem;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.ec2-input{background:#fafbfe;border:1px solid #cbd5e1;border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.85rem;padding:8px 10px;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.ec2-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.ec2-load-btn,.ec2-term-btn{margin-top:6px}.ec2-term-btn{width:100%}.ec2-success{background:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;border-radius:var(--radius-sm);color:#166534;font-size:.82rem;margin-top:10px;padding:6px 10px}.ec2-cred-status{background:#fafbfe;border:1px solid #f1f5f9;border-radius:12px;border-radius:var(--radius-md);margin-top:14px;padding:12px}.ec2-cred-status-title{color:#334155;font-size:.78rem;font-weight:700;margin-bottom:8px}.ec2-status-grid{display:flex;flex-wrap:wrap;gap:6px 14px}.ec2-status-dot{align-items:center;display:inline-flex;font-size:.75rem;font-weight:600;gap:5px}.ec2-dot{border-radius:50%;display:inline-block;height:7px;width:7px}.ec2-status-dot.ok .ec2-dot{background:#22c55e;background:var(--success);box-shadow:0 0 5px #22c55e66}.ec2-status-dot.missing .ec2-dot{background:#ef4444;background:var(--danger);box-shadow:0 0 5px #ef44444d}.ec2-status-dot.ok{color:#166534}.ec2-status-dot.missing{color:#991b1b}.ec2-ready-pill{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-top:8px;padding:5px 12px;text-transform:uppercase}.ec2-ready-pill.ready{background:#16a34a1f;border:1px solid #22c55e4d;color:#166534}.ec2-ready-pill.not-ready{background:#dc262614;border:1px solid #f871714d;color:#991b1b}.ec2-form-grid{grid-gap:0;display:grid;gap:0}.ec2-form-inline{gap:0 14px;grid-template-columns:1fr 1fr}@media (max-width:600px){.ec2-form-inline{grid-template-columns:1fr}}.overview-panel{background:linear-gradient(120deg,#fff,#f5f3ff);border-color:#cbd5f5;border-style:dashed}.callout{background:#eef2ff;border-radius:12px;border-radius:var(--radius-md);color:#4338ca;font-size:.85rem;font-weight:600;margin-top:14px;padding:10px 14px}.debug-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:10px}.debug-field{color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.78rem;font-weight:600}.debug-input{border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);font-family:inherit;font-size:.85rem;margin-top:4px;padding:8px 10px}.debug-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px #6366f11a;outline:none}.debug-command{background:#0f172a;border-radius:8px;border-radius:var(--radius-sm);color:#22d3ee;font-family:JetBrains Mono,monospace;font-size:.85rem;padding:10px 14px}.debug-actions,.debug-command{margin-top:10px}@media (max-width:840px){.sidebar{width:72px;width:var(--sidebar-collapsed)}.sidebar .sidebar-label,.sidebar .sidebar-logo-text,.sidebar .sidebar-node-section{display:none}.sidebar .sidebar-item{justify-content:center;padding:12px}.sidebar .sidebar-logo{justify-content:center}.app-content{padding:20px 16px 40px}.canvas-container{height:350px}.dash-stats-row{grid-template-columns:1fr 1fr}}@media (max-width:600px){.dash-stats-row,.ec2-grid,.health-metrics-grid,.health-wan-grid{grid-template-columns:1fr}.drawer{width:100vw}}.app-main::-webkit-scrollbar{width:6px}.app-main::-webkit-scrollbar-track{background:#0000}.app-main::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.app-main::-webkit-scrollbar-thumb:hover{background:#94a3b8}.drawer::-webkit-scrollbar{width:5px}.drawer::-webkit-scrollbar-track{background:#0000}.drawer::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.fleet-panel{display:flex;flex-direction:column;gap:24px}.fleet-counts{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.85rem;font-weight:500;gap:8px}.fleet-count-sep{opacity:.3}.fleet-count.online{color:#16a34a}.fleet-count.stale{color:#d97706}.fleet-empty{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-direction:column;font-size:.88rem;gap:14px;justify-content:center;min-height:220px}.fleet-empty-icon{opacity:.2}.fleet-spinner{animation:fleetSpin .7s linear infinite;border:2.5px solid #e2e8f0;border-top-color:#6366f1;border:2.5px solid var(--card-border);border-radius:50%;border-top-color:var(--accent);height:22px;width:22px}@keyframes fleetSpin{to{transform:rotate(1turn)}}.fleet-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#991b1b;font-size:.82rem;padding:10px 16px}.fleet-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.fleet-tile{align-items:center;background:#fff;background:var(--card-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:8px;padding:28px 16px 20px;position:relative;text-align:center;transition:all .2s ease}.fleet-tile:hover{border-color:#c7d2fe;box-shadow:0 8px 24px #6366f11a;transform:translateY(-2px)}.fleet-tile.selected{background:linear-gradient(180deg,#f5f3ff,#fff);border-color:#6366f1;border-color:var(--accent);box-shadow:0 8px 28px #6366f129;transform:translateY(-2px)}.fleet-tile.stale{opacity:.65}.fleet-tile.stale:hover{opacity:.85}.fleet-tile-led{border-radius:50%;height:8px;position:absolute;right:12px;top:12px;width:8px}.fleet-tile-led.on{background:#22c55e;box-shadow:0 0 8px #22c55e80}.fleet-tile-led.off{background:#f59e0b;box-shadow:0 0 6px #f59e0b59}.fleet-tile-icon{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:16px;color:#6366f1;color:var(--accent);display:flex;height:56px;justify-content:center;transition:all .2s ease;width:56px}.fleet-tile.selected .fleet-tile-icon{background:linear-gradient(135deg,#6366f1,#818cf8);box-shadow:0 4px 14px #6366f14d;color:#fff}.fleet-tile-icon.stale{background:#fef3c7;color:#d97706}.fleet-tile-name{color:#0f172a;color:var(--text-primary);font-size:.88rem;font-weight:700;line-height:1.2;word-break:break-all}.fleet-tile-ip{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.72rem;letter-spacing:.01em}.fleet-tile-ip,.fleet-tile-seen{color:#94a3b8;color:var(--text-muted)}.fleet-tile-seen{font-size:.66rem;opacity:.7}.fleet-detail{animation:fleetDetailIn .3s ease;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md);overflow:hidden}@keyframes fleetDetailIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fleet-detail-head{align-items:center;background:linear-gradient(180deg,#fafbff,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;padding:20px 24px}.fleet-detail-head-left{align-items:center;display:flex;gap:14px}.fleet-detail-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:14px;box-shadow:0 4px 12px #6366f140;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.fleet-detail-icon.stale{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.fleet-detail-name{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:800;line-height:1.2;margin:0}.fleet-detail-sub{color:#94a3b8;color:var(--text-muted);font-size:.76rem}.fleet-detail-close{align-items:center;background:#0000;border:none;border-radius:10px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;width:32px}.fleet-detail-close:hover{background:#f1f5f9;color:#0f172a;color:var(--text-primary)}.fleet-detail-placeholder{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.85rem;gap:10px;justify-content:center;padding:40px}.fleet-detail-error{align-items:center;background:#fef2f2;color:#991b1b;display:flex;font-size:.84rem;gap:6px;padding:16px 24px}.fleet-detail-body{display:flex;flex-direction:column;gap:22px;padding:20px 24px 28px}.fleet-facts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.fleet-fact{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;border-radius:var(--radius-md);gap:10px;padding:12px 14px}.fleet-fact,.fleet-fact-icon{align-items:center;display:flex}.fleet-fact-icon{background:#6366f114;border-radius:10px;color:#6366f1;color:var(--accent);flex-shrink:0;height:32px;justify-content:center;width:32px}.fleet-fact-body{display:flex;flex-direction:column;gap:1px}.fleet-fact-label{color:#94a3b8;color:var(--text-muted);font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.fleet-fact-value{color:#0f172a;color:var(--text-primary);font-size:.88rem;font-weight:700}.fleet-fact-value.mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.84rem}.fleet-section{display:flex;flex-direction:column;gap:10px}.fleet-section-title{border-bottom:1px solid #f1f5f9;color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:0;padding-bottom:4px;text-transform:uppercase}.fleet-ip-row{display:flex;flex-wrap:wrap;gap:10px}.fleet-ip-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2px;min-width:140px;padding:10px 16px}.fleet-ip-chip.fleet-ip-total{background:#eef2ff;border-color:#c7d2fe}.fleet-ip-role{color:#94a3b8;color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.fleet-ip-addr{color:#0f172a;color:var(--text-primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.9rem;font-weight:700}.fleet-ip-chip.fleet-ip-mismatch{background:#fffbeb;border-color:#fbbf24}.fleet-ip-chip.fleet-ip-mismatch .fleet-ip-role{color:#b45309}.fleet-ip-warning{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.75rem;font-weight:500;line-height:1.4;margin:8px 0 0;padding:8px 12px}.fleet-kv-grid{display:flex;flex-wrap:wrap;gap:8px}.fleet-kv{align-items:center;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;border-radius:var(--radius-sm);display:flex;font-size:.8rem;gap:6px;padding:6px 12px}.fleet-kv-label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:500}.fleet-kv-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.fleet-kv-value.ok{color:#16a34a}.fleet-kv-value.err{color:#dc2626}.fleet-tunnel-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.fleet-tunnel-stat{align-items:center;display:flex;font-size:.82rem;gap:6px}.fleet-tunnel-icon{color:#94a3b8;color:var(--text-muted)}.fleet-tunnel-label{color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:700;text-transform:uppercase}.fleet-tunnel-bytes{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.fleet-tunnel-pkts{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums}.fleet-tunnel-errors{color:#94a3b8;color:var(--text-muted);font-size:.78rem}.fleet-tunnel-errors.has{color:#dc2626;font-weight:600}.fleet-wan-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.fleet-wan-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;border-radius:var(--radius-md);padding:10px 14px;transition:border-color .15s ease}.fleet-wan-card.down{background:#fffbeb;border-color:#fecaca}.fleet-wan-head{align-items:center;display:flex;gap:8px;margin-bottom:4px}.fleet-wan-led{border-radius:50%;height:7px;width:7px}.fleet-wan-led.on{background:#22c55e;box-shadow:0 0 5px #22c55e66}.fleet-wan-led.off{background:#ef4444}.fleet-wan-name{color:#0f172a;color:var(--text-primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.78rem;font-weight:600}.fleet-wan-stats{font-feature-settings:"tnum";color:#64748b;color:var(--text-secondary);display:flex;font-size:.74rem;font-variant-numeric:tabular-nums;gap:12px}.fleet-dev-list{display:flex;flex-direction:column;gap:4px}.fleet-dev{align-items:center;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;border-radius:var(--radius-sm);display:flex;font-size:.78rem;gap:10px;padding:7px 12px}.fleet-dev.stale{opacity:.55}.fleet-dev-ip{color:#0f172a;color:var(--text-primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-weight:600;min-width:110px}.fleet-dev-host{color:#64748b;color:var(--text-secondary);min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-dev-traffic{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums;margin-left:auto}.fleet-dev-badge{border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.03em;padding:2px 7px;text-transform:uppercase}.fleet-dev-badge.on{background:#dcfce7;color:#166534}.fleet-dev-badge.off{background:#f1f5f9;color:#94a3b8}@media (max-width:640px){.fleet-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.fleet-tile{padding:20px 12px 16px}.fleet-detail-body{padding:16px}.fleet-facts{grid-template-columns:1fr 1fr}.fleet-dev-host{display:none}}.pool-panel{display:flex;flex-direction:column;gap:18px}.pool-stats-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.pool-stat-tile{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);display:flex;gap:12px;padding:16px 18px;transition:box-shadow .15s ease;transition:box-shadow var(--transition-fast)}.pool-stat-tile:hover{box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm)}.pool-stat-icon{align-items:center;background:currentColor;border-radius:10px;color:inherit;display:flex;height:36px;justify-content:center;opacity:.12;position:relative;width:36px}.pool-stat-icon>svg{opacity:1;position:absolute}.pool-stat-tile .pool-stat-icon{background:none;opacity:1}.pool-stat-body{display:flex;flex-direction:column;gap:2px;min-width:0}.pool-stat-label{color:#94a3b8;color:var(--text-muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.pool-stat-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:700}.pool-capacity{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);padding:16px 18px}.pool-capacity-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.pool-capacity-title{color:#0f172a;color:var(--text-primary);font-size:.82rem;font-weight:600}.pool-capacity-pct{font-feature-settings:"tnum";color:#64748b;color:var(--text-secondary);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600}.pool-capacity-track{background:#f1f5f9;border-radius:999px;height:8px;overflow:hidden}.pool-capacity-fill{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1),background .3s ease}.pool-capacity-legend{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);display:flex;font-size:.72rem;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:8px}.pool-next{align-items:center;background:#22c55e0f;border:1px solid #22c55e26;border-radius:12px;border-radius:var(--radius-md);color:#16a34a;display:flex;gap:10px;padding:12px 16px}.pool-next--full{background:#ef44440f;border-color:#ef444426;color:#dc2626}.pool-next-icon{flex-shrink:0}.pool-next-body{display:flex;flex-direction:column;gap:2px;min-width:0}.pool-next-label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pool-next-detail{color:#0f172a;color:var(--text-primary);font-size:.82rem}.pool-next-detail code{background:#6366f114;border-radius:4px;color:#4f46e5;color:var(--accent-dark);font-size:.78rem;padding:1px 5px}.pool-section{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);padding:18px 20px 20px}.pool-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.pool-section-title{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;font-size:.92rem;font-weight:700;gap:8px;margin:0}.pool-section-count{align-items:center;background:#6366f11a;border-radius:999px;color:#6366f1;color:var(--accent);display:inline-flex;font-size:.7rem;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.pool-controls{gap:8px}.pool-controls,.pool-search{align-items:center;display:flex}.pool-search{position:relative}.pool-search-icon{color:#94a3b8;color:var(--text-muted);left:10px;pointer-events:none;position:absolute}.pool-search-input{background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-size:.78rem;outline:none;padding:6px 10px 6px 30px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:210px}.pool-search-input:focus{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 0 0 3px #6366f11a}.pool-search-input::placeholder{color:#94a3b8;color:var(--text-muted)}.pool-refresh-btn{align-items:center;background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:32px}.pool-refresh-btn:hover{background:#fff;border-color:#818cf8;border-color:var(--accent-light);color:#6366f1;color:var(--accent)}.pool-table-wrap{overflow-x:auto}.pool-table{border-collapse:collapse;font-size:.8rem;width:100%}.pool-table th{background:#fafbfe;border-bottom:2px solid #f1f5f9;color:#94a3b8;color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.05em;padding:8px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.pool-table td{border-bottom:1px solid #f8fafc;color:#334155;padding:10px 12px;white-space:nowrap}.pool-table tbody tr{transition:background .15s ease;transition:background var(--transition-fast)}.pool-table tbody tr:hover{background:#fafbfe}.pool-table code{background:#6366f10f;border-radius:4px;color:#4f46e5;color:var(--accent-dark);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.76rem;padding:2px 6px}.pool-cell-slot{font-feature-settings:"tnum";color:#64748b;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:700;width:60px}.pool-cell-node{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;font-weight:600;gap:8px}.pool-node-dot{background:#22c55e;background:var(--success);border-radius:50%;flex-shrink:0;height:8px;width:8px}.pool-cell-actions{text-align:center;width:36px}.pool-copy-btn{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:inline-flex;height:26px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:26px}.pool-copy-btn:hover{background:#f1f5f9;color:#6366f1;color:var(--accent)}.pool-no-match{color:#94a3b8;color:var(--text-muted);font-style:italic;padding:24px 12px!important;text-align:center}.pool-empty{flex-direction:column}.pool-empty,.pool-loading{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.85rem;gap:10px;justify-content:center;padding:40px 20px}.pool-spinner{animation:poolSpin .7s linear infinite}@keyframes poolSpin{to{transform:rotate(1turn)}}.pool-error-box{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#991b1b;display:flex;font-size:.82rem;gap:10px;padding:14px 18px}.pool-retry-btn{background:#fff;border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius-sm);color:#991b1b;cursor:pointer;font-size:.75rem;font-weight:600;margin-left:auto;padding:5px 12px;transition:all .15s ease;transition:all var(--transition-fast)}.pool-retry-btn:hover{background:#fef2f2;border-color:#f87171}.pool-footer{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:0 2px}.pool-footer-text{color:#94a3b8;color:var(--text-muted);font-size:.72rem}.pool-footer-text strong{color:#64748b;color:var(--text-secondary)}.pool-footer-error{align-items:center;color:#dc2626;display:flex;font-size:.72rem;gap:4px}@media (max-width:640px){.pool-stats-row{grid-template-columns:repeat(2,1fr)}.pool-search-input{width:150px}.pool-section-header{align-items:stretch;flex-direction:column}}.error-boundary{align-items:center;background:#f1f5f9;background:var(--content-bg);display:flex;justify-content:center;min-height:100vh;padding:24px}.error-boundary-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 8px 25px #00000014;box-shadow:var(--shadow-lg);max-width:440px;padding:40px 32px;text-align:center}.error-boundary-icon{margin-bottom:20px}.error-boundary-title{color:#0f172a;color:var(--text-primary);font-size:1.4rem;font-weight:800;margin:0 0 8px}.error-boundary-msg{color:#64748b;color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 16px}.error-boundary-detail{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius-sm);color:#991b1b;font-family:JetBrains Mono,monospace;font-size:.78rem;margin:0 0 20px;max-height:120px;overflow-y:auto;padding:10px 14px;text-align:left;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:10px;justify-content:center}.error-boundary-reload,.error-boundary-retry{border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:600;padding:10px 20px;transition:all .15s ease;transition:all var(--transition-fast)}.error-boundary-retry{background:#6366f1;background:var(--accent);color:#fff}.error-boundary-retry:hover{background:#4f46e5;background:var(--accent-dark)}.error-boundary-reload{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--card-border);color:#64748b;color:var(--text-secondary)}.error-boundary-reload:hover{background:#f8fafc;border-color:#cbd5e1}.toast-container{bottom:24px;display:flex;flex-direction:column;gap:8px;max-width:400px;position:fixed;right:24px;z-index:200}.toast{align-items:center;animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 8px 25px #00000014;box-shadow:var(--shadow-lg);display:flex;font-size:.85rem;font-weight:600;gap:10px;line-height:1.4;padding:12px 16px}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(40px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.toast-success{background:#22c55e1f;border:1px solid #22c55e40;color:#166534}.toast-error{background:#ef44441f;border:1px solid #ef444440;color:#991b1b}.toast-warning{background:#f59e0b1f;border:1px solid #f59e0b40;color:#92400e}.toast-info{background:#6366f11f;border:1px solid #6366f140;color:#3730a3}.toast-icon{display:flex;flex-shrink:0}.toast-success .toast-icon{color:#22c55e}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#6366f1}.toast-msg{flex:1 1;min-width:0}.toast-close{background:#0000;border:none;border-radius:4px;color:inherit;cursor:pointer;display:flex;flex-shrink:0;opacity:.5;padding:4px;transition:opacity .15s ease;transition:opacity var(--transition-fast)}.toast-close:hover{opacity:1}.confirm-backdrop{align-items:center;animation:backdropIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;display:flex;inset:0;justify-content:center;position:fixed;z-index:300}.confirm-modal{animation:confirmPopIn .25s cubic-bezier(.34,1.56,.64,1);background:#fff;background:var(--card-bg);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 25px #00000014;box-shadow:var(--shadow-lg);max-width:420px;padding:28px 28px 20px;width:90vw}@keyframes confirmPopIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-title{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:800;margin:0 0 8px}.confirm-message{color:#64748b;color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0 0 24px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-btn,.confirm-cancel{border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:600;padding:9px 20px;transition:all .15s ease;transition:all var(--transition-fast)}.confirm-cancel{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--card-border);color:#64748b;color:var(--text-secondary)}.confirm-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.confirm-btn-primary{background:#6366f1;background:var(--accent);color:#fff}.confirm-btn-primary:hover{background:#4f46e5;background:var(--accent-dark)}.confirm-btn-primary:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.confirm-btn-danger{background:#ef4444;background:var(--danger);color:#fff}.confirm-btn-danger:hover{background:#dc2626}.confirm-btn-danger:focus-visible{outline:2px solid #ef4444;outline:2px solid var(--danger);outline-offset:2px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-block{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:800px 100%}.skeleton-card{align-items:flex-start;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);display:flex;gap:14px;padding:18px 20px}.skeleton-stat-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.skeleton-tile-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:16px}.skeleton-tile{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);padding:24px 16px}.skeleton-table,.skeleton-tile{display:flex;flex-direction:column}.skeleton-table{gap:2px;margin-top:12px}.skeleton-table-header,.skeleton-table-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);padding:8px 12px}.skeleton-table-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);padding-bottom:12px}.fleet-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;padding:12px 0}.fleet-search-wrap{flex:1 1;max-width:360px;min-width:200px;position:relative}.fleet-search-icon{color:#94a3b8;color:var(--text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.fleet-search-input{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.85rem;padding:9px 32px 9px 34px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.fleet-search-input::placeholder{color:#94a3b8;color:var(--text-muted)}.fleet-search-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f;outline:none}.fleet-search-clear{background:#0000;border:none;border-radius:4px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.fleet-search-clear:hover{color:#64748b;color:var(--text-secondary)}.fleet-filter-group{align-items:center;display:flex;gap:4px}.fleet-filter-btn{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:999px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;padding:6px 12px;transition:all .15s ease;transition:all var(--transition-fast)}.fleet-filter-btn:hover{background:#f8fafc;border-color:#cbd5e1}.fleet-filter-btn.active{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff}.fleet-sort-select{appearance:none;background:#fff;background:var(--card-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;background-size:14px;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;padding:7px 28px 7px 10px}.fleet-sort-select:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 2px #6366f126;outline:none}.mobile-header,.sidebar-mobile-backdrop,.sidebar-mobile-close{display:none}.desktop-only{display:flex}@media (max-width:768px){.app-shell{flex-direction:column}.app-main{width:100%}.sidebar.mobile-open .sidebar-label{display:inline}.sidebar.mobile-open .sidebar-logo-text{display:flex}.sidebar.mobile-open .sidebar-item{justify-content:flex-start;padding:10px 14px}.sidebar.mobile-open .sidebar-logo{justify-content:flex-start}.mobile-header{align-items:center;background:#0b1120;background:var(--sidebar-bg);border-bottom:1px solid #94a3b814;border-bottom:1px solid var(--sidebar-border);display:flex;flex:0 0 auto;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;position:sticky;top:0;width:100%;z-index:40}.mobile-hamburger{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#e2e8f0;cursor:pointer;display:flex;padding:6px}.mobile-hamburger:hover{background:#6366f11a}.mobile-brand{color:#e2e8f0;font-size:1rem;font-weight:800;letter-spacing:.01em}.sidebar{bottom:0;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:240px!important;width:var(--sidebar-w)!important;z-index:60}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{width:240px!important;width:var(--sidebar-w)!important}.sidebar-mobile-backdrop{animation:backdropIn .2s ease;background:#0f172a80;display:block;inset:0;position:fixed;z-index:55}.sidebar-mobile-close{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#94a3b8;cursor:pointer;display:flex;margin-left:auto;padding:4px}.sidebar-mobile-close:hover{background:#6366f11a;color:#e2e8f0}.desktop-only{display:none!important}.sidebar.collapsed .sidebar-item{justify-content:flex-start;padding:10px 14px}.sidebar.collapsed .sidebar-label{display:inline}.sidebar.collapsed .sidebar-logo-text{display:flex}.sidebar.collapsed .sidebar-node-section{display:block}.app-content{padding:16px 14px 40px}.hero h1{font-size:1.2rem}.fleet-toolbar{align-items:stretch;flex-direction:column}.fleet-search-wrap{max-width:100%}.toast-container{bottom:16px;left:12px;max-width:100%;right:12px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.confirm-cancel:focus-visible,.drawer-close:focus-visible,.fleet-tile:focus-visible,.sidebar-item:focus-visible,.toast-close:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.evlog-panel{display:flex;flex-direction:column;gap:1.25rem}.evlog-severity-bar{display:flex;flex-wrap:wrap;gap:.75rem}.evlog-sev-chip{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:999px;color:#0f172a;color:var(--text-primary,#1e293b);display:flex;font-size:.78rem;font-weight:600;gap:.4rem;letter-spacing:.02em;padding:.35rem .75rem}.evlog-sev-chip .evlog-sev-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.evlog-sev-chip .evlog-sev-dot[data-level=critical]{background:#dc2626}.evlog-sev-chip .evlog-sev-dot[data-level=error]{background:#ef4444}.evlog-sev-chip .evlog-sev-dot[data-level=warn]{background:#f59e0b}.evlog-sev-chip .evlog-sev-dot[data-level=info]{background:#3b82f6}.evlog-sev-chip .evlog-sev-dot[data-level=debug]{background:#94a3b8}.evlog-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.evlog-search-wrap{flex:1 1;min-width:180px;position:relative}.evlog-search-icon{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;left:.65rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.evlog-search-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;color:#0f172a;color:var(--text-primary,#1e293b);font-size:.82rem;padding:.5rem .65rem .5rem 2rem;transition:border-color .15s;width:100%}.evlog-search-input:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f11f;outline:none}.evlog-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.evlog-filter-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;color:#0f172a;color:var(--text-primary,#1e293b);cursor:pointer;font-size:.82rem;padding:.5rem .65rem;transition:border-color .15s}.evlog-filter-select:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f11f;outline:none}.evlog-clear-filters{background:none;border:none;border-radius:.375rem;color:#6366f1;color:var(--accent,#6366f1);cursor:pointer;font-size:.78rem;font-weight:600;padding:.35rem .5rem;transition:background .15s}.evlog-clear-filters:hover{background:#6366f114}.evlog-feed{position:relative}.evlog-bucket-header{align-items:center;color:#64748b;color:var(--text-secondary,#64748b);display:flex;font-size:.72rem;font-weight:700;gap:.75rem;letter-spacing:.06em;margin:1.25rem 0 .75rem;text-transform:uppercase}.evlog-bucket-header:first-child{margin-top:0}.evlog-bucket-line{background:#e2e8f0;background:var(--card-border,#e2e8f0);flex:1 1;height:1px}.evlog-row{border-radius:.5rem;cursor:pointer;display:flex;gap:0;margin-bottom:2px;transition:background .12s}.evlog-row:hover{background:#6366f10a}.evlog-rail{align-items:center;display:flex;flex-direction:column;flex-shrink:0;padding-top:.75rem;width:32px}.evlog-dot{border:2px solid #fff;border:2px solid var(--card-bg,#fff);border-radius:50%;box-shadow:0 0 0 1px #e2e8f0;box-shadow:0 0 0 1px var(--card-border,#e2e8f0);flex-shrink:0;height:10px;width:10px;z-index:1}.evlog-dot[data-level=critical]{background:#dc2626}.evlog-dot[data-level=error]{background:#ef4444}.evlog-dot[data-level=warn]{background:#f59e0b}.evlog-dot[data-level=info]{background:#3b82f6}.evlog-dot[data-level=debug]{background:#94a3b8}.evlog-line{background:#e2e8f0;background:var(--card-border,#e2e8f0);flex:1 1;width:2px}.evlog-content{flex:1 1;min-width:0;padding:.55rem .75rem}.evlog-row-top{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.evlog-row-msg{color:#0f172a;color:var(--text-primary,#1e293b);font-size:.84rem;font-weight:500;line-height:1.4;word-break:break-word}.evlog-row-time{color:#64748b;color:var(--text-secondary,#64748b);flex-shrink:0;font-size:.72rem;margin-left:auto;white-space:nowrap}.evlog-row-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.evlog-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:600;gap:.25rem;letter-spacing:.02em;padding:.15rem .5rem}.evlog-tag-severity{color:#fff}.evlog-tag-severity[data-level=critical]{background:#dc2626}.evlog-tag-severity[data-level=error]{background:#ef4444}.evlog-tag-severity[data-level=warn]{background:#f59e0b;color:#1e293b}.evlog-tag-severity[data-level=info]{background:#3b82f6}.evlog-tag-severity[data-level=debug]{background:#94a3b8}.evlog-tag-node{background:#6366f11a;color:#6366f1;color:var(--accent,#6366f1)}.evlog-tag-source{background:#10b9811a;color:#059669}.evlog-detail{background:#f1f5f9;background:var(--content-bg,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;margin-top:.5rem;padding:.65rem .75rem}.evlog-detail-grid{grid-gap:.25rem .75rem;display:grid;font-size:.78rem;gap:.25rem .75rem;grid-template-columns:auto 1fr}.evlog-detail-label{color:#64748b;color:var(--text-secondary,#64748b);font-weight:600;white-space:nowrap}.evlog-detail-value{color:#0f172a;color:var(--text-primary,#1e293b);word-break:break-all}.evlog-empty{align-items:center;color:#64748b;color:var(--text-secondary,#64748b);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.evlog-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.evlog-empty h3{color:#0f172a;color:var(--text-primary,#1e293b);font-size:1rem;margin:0 0 .35rem}.evlog-empty p{font-size:.84rem;margin:0}.evlog-loading{color:#64748b;color:var(--text-secondary,#64748b);flex-direction:column;font-size:.84rem;padding:2rem}.evlog-footer,.evlog-loading{align-items:center;display:flex;gap:.75rem}.evlog-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border,#e2e8f0);flex-wrap:wrap;justify-content:space-between;padding:.75rem 0 0}.evlog-footer-count{color:#64748b;color:var(--text-secondary,#64748b);font-size:.78rem}.evlog-footer-actions{align-items:center;display:flex;gap:.5rem}.evlog-pause-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;color:#0f172a;color:var(--text-primary,#1e293b);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.35rem;padding:.4rem .75rem;transition:background .15s,border-color .15s}.evlog-pause-btn:hover{background:#6366f10f;border-color:#6366f1;border-color:var(--accent,#6366f1)}.evlog-pause-btn.paused{background:#f59e0b14;border-color:#f59e0b;color:#b45309}.evlog-load-more{align-items:center;background:#6366f10f;border:1px solid #6366f1;border:1px solid var(--accent,#6366f1);border-radius:.5rem;color:#6366f1;color:var(--accent,#6366f1);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.35rem;padding:.4rem .75rem;transition:background .15s}.evlog-load-more:hover{background:#6366f11f}@keyframes evlog-spin{to{transform:rotate(1turn)}}.evlog-spin{animation:evlog-spin 1s linear infinite}.evlog-error{background:#ef444414;border:1px solid #ef444433;border-radius:.5rem;color:#dc2626;font-size:.82rem;font-weight:500;padding:.65rem .85rem}@media (max-width:768px){.evlog-toolbar{flex-direction:column}.evlog-search-wrap{min-width:0;min-width:auto;width:100%}.evlog-filter-row{width:100%}.evlog-filter-select{flex:1 1;min-width:0}.evlog-row-top{flex-direction:column;gap:.15rem}.evlog-row-time{margin-left:0}.evlog-footer{align-items:flex-start;flex-direction:column}}.qos-panel{display:flex;flex-direction:column;gap:.75rem;position:relative}.qos-toast{animation:qos-toast-in .25s ease;background:#fff;background:var(--card-bg,#fff);border-left:3px solid #6366f1;border-left:3px solid var(--accent,#6366f1);border-radius:.5rem;box-shadow:0 4px 16px #00000014;color:#0f172a;color:var(--text-primary,#1e293b);font-size:.8rem;font-weight:600;padding:.5rem .85rem;position:sticky;top:0;z-index:50}@keyframes qos-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.qos-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.qos-search-wrap{flex:1 1;min-width:160px;position:relative}.qos-search-icon{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;left:.6rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.qos-search-input{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;color:#0f172a;color:var(--text-primary,#1e293b);font-size:.8rem;padding:.45rem 2rem .45rem 1.9rem;transition:border-color .15s;width:100%}.qos-search-input:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 2px #6366f11a;outline:none}.qos-search-clear{align-items:center;background:none;border:none;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;padding:2px;position:absolute;right:.45rem;top:50%;transform:translateY(-50%)}.qos-search-clear:hover{color:#0f172a;color:var(--text-primary,#1e293b)}.qos-toolbar-actions{display:flex;flex-wrap:wrap;gap:.3rem}.qos-tool-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:inline-flex;font-size:.74rem;font-weight:600;gap:.3rem;padding:.38rem .65rem;transition:all .15s}.qos-tool-btn:hover{color:#6366f1;color:var(--accent,#6366f1)}.qos-tool-btn.active,.qos-tool-btn:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.qos-tool-btn.active{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.qos-events{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;padding:.65rem}.qos-events-title{color:#0f172a;color:var(--text-primary,#1e293b);font-size:.74rem;font-weight:700;letter-spacing:.03em;margin-bottom:.4rem;text-transform:uppercase}.qos-events-list{display:flex;flex-direction:column;gap:.2rem;max-height:200px;overflow-y:auto}.qos-event-row{align-items:center;border-radius:.375rem;display:flex;flex-wrap:wrap;font-size:.74rem;gap:.45rem;padding:.3rem .4rem}.qos-event-row:hover{background:#00000005}.qos-event-class{color:#0f172a;color:var(--text-primary,#1e293b);font-weight:600}.qos-event-detail{color:#6366f1;color:var(--accent,#6366f1);font-weight:500}.qos-event-reason{color:#dc2626;font-weight:500}.qos-event-time{font-size:.7rem;margin-left:auto;white-space:nowrap}.qos-event-time,.qos-no-results{color:#64748b;color:var(--text-secondary,#64748b)}.qos-no-results{align-items:center;display:flex;font-size:.82rem;gap:.4rem;justify-content:center;padding:1rem}.qos-tiers{display:flex;flex-direction:column;gap:.4rem}.qos-tier{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.5rem;overflow:hidden}.qos-tier-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:inherit;gap:.5rem;padding:.55rem .75rem;text-align:left;transition:background .12s;width:100%}.qos-tier-header:hover{background:rgba(0,0,0,.015)}.qos-tier-left{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.qos-tier-name{font-size:.78rem;font-weight:700;white-space:nowrap}.qos-tier-count{background:#0000000a;border-radius:999px;font-size:.65rem;font-weight:600;min-width:1.4rem;padding:.08rem .4rem;text-align:center}.qos-tier-count,.qos-tier-hint{color:#64748b;color:var(--text-secondary,#94a3b8)}.qos-tier-hint{flex:1 1;font-size:.7rem;overflow:hidden;padding-right:.25rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}.qos-tier-chevron{color:#64748b;color:var(--text-secondary,#94a3b8);flex-shrink:0}.qos-tier-body{border-left:3px solid #94a3b8;border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border,#e2e8f0)}.qos-tier-empty{color:#64748b;color:var(--text-secondary,#94a3b8);font-size:.76rem;font-style:italic;padding:.6rem 1rem .6rem 1.25rem}.qos-row{align-items:center;border-bottom:1px solid rgba(0,0,0,.035);cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.5rem .75rem .5rem 1.25rem;transition:background .1s}.qos-row:last-of-type{border-bottom:none}.qos-row:hover{background:rgba(0,0,0,.018)}.qos-row.expanded{background:#6366f108;border-bottom-color:#0000}.qos-row.inherited{opacity:.65}.qos-row.inherited:hover{opacity:.85}.qos-row-left{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0}.qos-row-name{color:#0f172a;color:var(--text-primary,#1e293b);font-size:.8rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qos-row-name.category,.qos-row-tag{font-weight:700}.qos-row-tag{border-radius:999px;flex-shrink:0;font-size:.58rem;letter-spacing:.03em;padding:.1rem .35rem;text-transform:uppercase}.qos-row-tag.inherited{background:#6366f112;color:#818cf8}.qos-row-tag.custom{background:#8b5cf614;color:#8b5cf6}.qos-row-right{align-items:center;display:flex;flex-shrink:0;gap:.45rem}.qos-row-dots{display:flex;gap:3px}.qos-dot{border-radius:50%;height:6px;width:6px}.qos-dot.ok{background:#22c55e}.qos-dot.fail{animation:qos-pulse 1.5s ease-in-out infinite;background:#ef4444}@keyframes qos-pulse{0%,to{opacity:1}50%{opacity:.4}}.qos-tier-select{appearance:none;background:#fff;background:var(--card-bg,#fff);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .35rem center;background-repeat:no-repeat;border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.375rem;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-family:inherit;font-size:.7rem;font-weight:600;padding:.22rem 1.4rem .22rem .45rem;transition:border-color .15s}.qos-tier-select:focus,.qos-tier-select:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.qos-tier-select:focus{box-shadow:0 0 0 2px #6366f11a;outline:none}.qos-tier-select:disabled{cursor:not-allowed;opacity:.5}.qos-row-chevron{color:#64748b;color:var(--text-secondary,#94a3b8);flex-shrink:0;transition:transform .2s ease}.qos-row-chevron.open{transform:rotate(90deg)}.qos-row-detail{animation:qos-detail-in .15s ease;background:#f1f5f9;background:var(--content-bg,#f8fafc);border-bottom:1px solid #0000000a;border-left:3px solid #6366f1;border-left:3px solid var(--accent,#6366f1);display:flex;flex-direction:column;gap:.6rem;margin-left:3px;padding:.65rem .75rem .65rem 1.25rem}@keyframes qos-detail-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.qos-detail-grid{grid-gap:.3rem;display:grid;gap:.3rem;grid-template-columns:repeat(3,1fr)}.qos-detail-cell{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.375rem;display:flex;flex-direction:column;padding:.35rem .5rem}.qos-detail-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.qos-detail-value{color:#0f172a;color:var(--text-primary,#1e293b);font-size:.82rem;font-weight:600;margin-top:.05rem}.qos-section-label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:.65rem;font-weight:700;letter-spacing:.04em;margin-bottom:.3rem;text-transform:uppercase}.qos-wan-section{margin-top:.1rem}.qos-wan-list{display:flex;flex-direction:column;gap:.2rem}.qos-wan-row{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.375rem;display:flex;font-size:.78rem;gap:.45rem;padding:.35rem .5rem}.qos-wan-row.fail{background:#ef444408;border-color:#ef444440}.qos-wan-name{color:#0f172a;color:var(--text-primary,#1e293b);font-weight:600;min-width:4.5rem}.qos-wan-score{font-size:.8rem;font-weight:700;min-width:2.2rem;text-align:right}.qos-wan-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.65rem;font-weight:700;gap:.2rem;margin-left:auto;padding:.12rem .4rem}.qos-wan-badge.ok{background:#22c55e1a;color:#16a34a}.qos-wan-badge.fail{background:#ef44441a;color:#dc2626}.qos-inherit-note{align-items:center;background:#6366f10a;border:1px dashed #6366f133;border-radius:.375rem;color:#64748b;color:var(--text-secondary,#64748b);display:flex;font-size:.76rem;gap:.35rem;padding:.4rem .6rem}.qos-inherit-note strong{color:#6366f1;color:var(--accent,#6366f1)}.qos-row-actions{display:flex;flex-wrap:wrap;gap:.4rem}.qos-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.375rem;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.76rem;font-weight:600;gap:.25rem;padding:.38rem .7rem;transition:all .12s}.qos-btn:hover{border-color:#64748b;border-color:var(--text-secondary,#64748b);color:#0f172a;color:var(--text-primary,#1e293b)}.qos-btn.primary{background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#fff}.qos-btn.primary:hover{background:#4f46e5}.qos-btn.primary:disabled{cursor:not-allowed;opacity:.5}.qos-btn.danger{border-color:#dc262640;color:#dc2626}.qos-btn.danger:hover{background:#dc26260d;border-color:#dc2626}.qos-btn.danger:disabled{cursor:not-allowed;opacity:.5}.qos-edit-grid{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:repeat(3,1fr)}.qos-edit-field{display:flex;flex-direction:column;gap:.15rem}.qos-edit-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.qos-edit-field input,.qos-edit-field select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--card-border,#e2e8f0);border-radius:.375rem;color:#0f172a;color:var(--text-primary,#1e293b);font-family:inherit;font-size:.8rem;padding:.35rem .5rem;width:100%}.qos-edit-field input:focus,.qos-edit-field select:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 2px #6366f11a;outline:none}.qos-edit-footer{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-top:.2rem}.qos-edit-actions{display:flex;gap:.35rem}.qos-toggle{border:none;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:700;padding:.3rem .6rem;transition:all .15s}.qos-toggle.on{background:#22c55e1f;color:#16a34a}.qos-toggle.off{background:#94a3b81f;color:#94a3b8}.qos-empty{align-items:center;color:#64748b;color:var(--text-secondary,#64748b);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.qos-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.4}.qos-empty h3{color:#0f172a;color:var(--text-primary,#1e293b);font-size:1rem;margin:0 0 .3rem}.qos-empty p{font-size:.82rem;margin:0}.qos-loading{align-items:center;color:#64748b;color:var(--text-secondary,#64748b);display:flex;flex-direction:column;font-size:.82rem;gap:.6rem;padding:2rem}@keyframes qos-spin-anim{to{transform:rotate(1turn)}}.qos-spin{animation:qos-spin-anim 1s linear infinite}.qos-error{align-items:center;background:#ef44440f;border:1px solid #ef44442e;border-radius:.5rem;color:#dc2626;display:flex;font-size:.8rem;font-weight:500;gap:.4rem;padding:.55rem .75rem}@media (max-width:768px){.qos-toolbar{flex-direction:column}.qos-search-wrap{min-width:0;min-width:auto;width:100%}.qos-toolbar-actions{overflow-x:auto;width:100%}.qos-tier-hint{display:none}.qos-detail-grid,.qos-edit-grid{grid-template-columns:1fr 1fr}.qos-edit-footer{align-items:stretch;flex-direction:column}.qos-edit-actions{justify-content:flex-end}.qos-row{padding:.45rem .5rem .45rem .85rem}.qos-row-detail{padding:.5rem .5rem .5rem .85rem}}@media (max-width:480px){.qos-detail-grid,.qos-edit-grid{grid-template-columns:1fr}.qos-row-left{flex-wrap:wrap}.qos-tier-select{font-size:.65rem;padding-left:.3rem;padding-right:1.2rem}}.sidebar-category{margin-bottom:2px}.sidebar-category-header{align-items:center;background:#0000;border:none;color:#64748b;cursor:pointer;display:flex;font-size:.68rem;font-weight:700;justify-content:space-between;letter-spacing:.06em;padding:6px 14px 4px;text-transform:uppercase;transition:color .15s ease;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;width:100%}.sidebar-category-header:hover{color:#94a3b8}.sidebar-category-chevron{transform:rotate(-90deg);transition:transform .2s ease}.sidebar-category-chevron.rotated{transform:rotate(0deg)}.sidebar-category-items{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s ease,opacity .2s ease,visibility 0s linear 0s}.sidebar-category-items.collapsed-items{grid-template-rows:0fr;opacity:0;pointer-events:none;transition:grid-template-rows .25s ease,opacity .2s ease,visibility 0s linear .25s;visibility:hidden}.sidebar-category-items-inner{min-height:0;overflow:hidden}.sidebar-category-header.is-static{cursor:default}.sidebar-category-header.is-static:hover{color:#64748b}.sidebar.collapsed .sidebar-category-header{display:none}.sidebar.collapsed .sidebar-category-items{grid-template-rows:1fr;opacity:1;pointer-events:auto;visibility:visible}.sidebar.collapsed .sidebar-category{border-top:1px solid #ffffff0a;margin-bottom:4px;padding-top:4px}.sidebar.collapsed .sidebar-category:first-child{border-top:none;padding-top:0}.diag-gauges-row{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:16px 0}.diag-gauge{align-items:center;display:flex;flex-direction:column;width:96px}.diag-gauge-svg{height:44px;width:80px}.diag-gauge-value{color:#0f172a;color:var(--text);font-size:1.1rem;font-weight:700;margin-top:-4px}.diag-gauge-value small{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:500}.diag-gauge-label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;margin-top:2px;text-align:center}.mt-12{margin-top:12px}.diag-score-row{display:flex;gap:16px;justify-content:center;margin-top:12px}.diag-score-badge{align-items:center;display:flex;flex-direction:column}.diag-score-num{font-size:1.3rem;font-weight:800;line-height:1}.diag-score-num.good{color:#22c55e}.diag-score-num.warn{color:#f59e0b}.diag-score-num.bad{color:#ef4444}.diag-score-label{color:#94a3b8;color:var(--text-muted);font-size:.65rem;margin-top:3px}.diag-score{font-size:.9rem;font-weight:700}.diag-score.good{color:#22c55e}.diag-score.warn{color:#f59e0b}.diag-score.bad{color:#ef4444}.stat-grid.compact{gap:8px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.stat-card.mini{padding:8px 10px}.stat-card.mini .stat-label{font-size:.68rem}.stat-card.mini .stat-value{font-size:.85rem}.stat-sub{color:#94a3b8;color:var(--text-muted);font-size:.68rem;margin-top:2px}.diag-sparkline{display:block}.diag-empty,.diag-loading{color:#94a3b8;color:var(--text-muted);font-size:.9rem;padding:32px 0;text-align:center}.diag-wan-deep-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));margin-top:16px}.diag-wan-deep-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:16px;border-radius:var(--radius-lg);padding:20px;transition:border-color .2s}.diag-wan-deep-card.impaired{border-color:#dc2626;box-shadow:0 0 0 1px #dc262626}.diag-wan-deep-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.diag-wan-deep-name{align-items:center;color:#0f172a;color:var(--text);display:flex;font-size:1.05rem;font-weight:700;gap:8px}.diag-wan-dot{border-radius:50%;height:10px;width:10px}.diag-wan-dot.up{background:#22c55e;box-shadow:0 0 6px #22c55e66}.diag-wan-dot.down{background:#ef4444;box-shadow:0 0 6px #ef444466}.diag-wan-badges{display:flex;gap:6px}.pill-stress{background:#ef44441f;border-radius:999px;color:#ef4444;display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px}.diag-wan-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.diag-wan-meta-item{color:#94a3b8;color:var(--text-muted);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.75rem}.diag-wan-deep-metrics{background:#6366f10a;border-radius:12px;border-radius:var(--radius-md);margin-bottom:14px;padding:14px}.diag-metric-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.diag-metric{text-align:center}.diag-metric-label{color:#94a3b8;color:var(--text-muted);font-size:.68rem;letter-spacing:.03em;margin-bottom:4px;text-transform:uppercase}.diag-metric-value{font-size:1rem;font-weight:700}.diag-metric-value.good{color:#22c55e}.diag-metric-value.warn{color:#f59e0b}.diag-metric-value.bad{color:#ef4444}.diag-wan-deep-counters{margin-top:14px}.diag-wan-stress-detail{border-top:1px dashed #ef44444d;margin-top:12px;padding-top:12px}.diag-section-title.sm{font-size:.72rem;margin-bottom:8px}.diag-devices-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 12px}.diag-search-input{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text);flex:1 1;font-size:.85rem;min-width:200px;outline:none;padding:8px 14px;transition:border-color .15s}.diag-search-input:focus{border-color:#6366f1;border-color:var(--accent)}.diag-sort-group{align-items:center;display:flex;gap:4px}.diag-sort-label{margin-right:4px}.diag-sort-btn,.diag-sort-label{color:#94a3b8;color:var(--text-muted);font-size:.75rem}.diag-sort-btn{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;padding:4px 10px;transition:all .15s}.diag-sort-btn.active{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff}.diag-sort-btn:hover:not(.active){border-color:#6366f1;border-color:var(--accent);color:#0f172a;color:var(--text)}.diag-devices-list{display:flex;flex-direction:column;gap:6px}.diag-device-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:12px;border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s}.diag-device-card.expanded{border-color:#6366f1;border-color:var(--accent)}.diag-device-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background .1s}.diag-device-header:hover{background:#6366f10a}.diag-device-primary{align-items:center;display:flex;gap:10px}.diag-device-ip{color:#0f172a;color:var(--text);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,monospace);font-size:.88rem;font-weight:600}.diag-device-hostname{color:#818cf8;color:var(--accent-light);font-size:.82rem}.diag-device-mac{color:#94a3b8;color:var(--text-muted);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,monospace);font-size:.72rem}.diag-device-summary{align-items:center;display:flex;gap:12px}.diag-device-stat{color:#94a3b8;color:var(--text-muted);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,monospace);font-size:.8rem}.diag-device-stat small{color:#94a3b8;color:var(--text-muted);font-size:.65rem;font-weight:700;margin-right:2px;text-transform:uppercase}.diag-device-last-seen{color:#94a3b8;color:var(--text-muted);font-size:.72rem}.diag-expand-chevron{color:#94a3b8;color:var(--text-muted);display:inline-block;font-size:.8rem;transition:transform .2s}.diag-expand-chevron.open{transform:rotate(90deg)}.diag-device-detail{border-top:1px solid #e2e8f0;border-top:1px solid var(--c-border);padding:0 16px 16px}.diag-app-breakdown{margin-top:12px}.diag-app-bars{display:flex;flex-direction:column;gap:4px}.diag-app-bar-row{align-items:center;display:flex;gap:8px}.diag-app-bar-label{color:#94a3b8;color:var(--text-muted);flex-shrink:0;font-size:.75rem;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:100px}.diag-app-bar-track{background:#6366f114;border-radius:999px;flex:1 1;height:8px;overflow:hidden}.diag-app-bar-fill{background:#6366f1;background:var(--accent);border-radius:999px;height:100%;min-width:2px;transition:width .3s ease}.diag-app-bar-count{color:#94a3b8;color:var(--text-muted);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,monospace);font-size:.72rem;text-align:right;width:48px}.stress-panel{max-width:none}.stress-panel-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.stress-tabs{background:#6366f10f;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:2px;margin:16px 0;padding:3px}.stress-tab{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.82rem;font-weight:600;padding:8px 16px;transition:all .15s}.stress-tab.active{background:#fff;background:var(--surface);box-shadow:0 1px 3px #00000014}.stress-tab.active,.stress-tab:hover:not(.active){color:#0f172a;color:var(--text)}.stress-wan-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.stress-wan-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:16px;border-radius:var(--radius-lg);padding:20px;transition:border-color .2s,box-shadow .2s}.stress-wan-card.impaired{border-color:#ef4444;box-shadow:0 0 0 1px #ef44441f,inset 0 0 0 1px #ef44440d}.stress-wan-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.stress-wan-name{align-items:center;color:#0f172a;color:var(--text);display:flex;font-size:1.05rem;font-weight:700;gap:8px}.stress-wan-dot{border-radius:50%;height:10px;width:10px}.stress-wan-dot.green{background:#22c55e;box-shadow:0 0 6px #22c55e66}.stress-wan-dot.red{background:#ef4444;box-shadow:0 0 6px #ef444466}.stress-active-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.stress-tag{background:#ef44441a;border-radius:999px;color:#f87171;display:inline-block;font-size:.73rem;font-weight:600;padding:3px 10px}.stress-tag.sm{font-size:.68rem;padding:2px 8px}.stress-tag.clean{background:#22c55e1a;color:#22c55e}.stress-sliders{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.stress-slider-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.stress-slider-header label{color:#0f172a;color:var(--text);font-size:.78rem;font-weight:600}.stress-slider-value{color:#818cf8;color:var(--accent-light);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,monospace);font-size:.75rem;font-weight:600}.stress-slider-track-wrap{position:relative}.stress-slider{appearance:none;background:linear-gradient(90deg,#6366f1 0,#6366f1 0,#6366f11f 0,#6366f11f);background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--fill-pct,0),#6366f11f var(--fill-pct,0),#6366f11f 100%);border-radius:999px;cursor:pointer;height:6px;outline:none;width:100%}.stress-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#6366f1;background:var(--accent);border:2px solid #fff;border:2px solid var(--surface);border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:16px;width:16px}.stress-slider::-moz-range-thumb{background:#6366f1;background:var(--accent);border:2px solid #fff;border:2px solid var(--surface);border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:16px;width:16px}.stress-advanced-toggle{margin-top:4px}.stress-advanced-toggle summary{color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:.75rem;-webkit-user-select:none;user-select:none}.stress-advanced-toggle summary:hover{color:#0f172a;color:var(--text)}.stress-advanced-sliders{display:flex;flex-direction:column;gap:10px;margin-top:8px}.stress-wan-actions{display:flex;gap:8px}.stress-wan-actions .danger-btn,.stress-wan-actions .primary-btn,.stress-wan-actions .secondary-btn{flex:1 1}.aqm-header-actions{display:flex;flex-shrink:0;gap:8px}.aqm-rate-input{background:#fff;background:var(--surface-2,var(--surface));border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,monospace);font-size:.78rem;padding:6px 10px;width:100%}.aqm-rate-input:focus{border-color:#6366f1;border-color:var(--accent);outline:none}.primary-btn{background:#6366f1;background:var(--accent);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 16px;transition:background .15s,opacity .15s}.primary-btn:hover:not(:disabled){background:#5b5bd6;background:var(--accent-hover,#5b5bd6)}.primary-btn:disabled{cursor:not-allowed;opacity:.5}.primary-btn.sm{font-size:.78rem;padding:6px 12px}.stress-empty{color:#94a3b8;color:var(--text-muted);grid-column:1/-1;padding:32px 0;text-align:center}.stress-scenarios-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.stress-scenario-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:16px;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:10px;padding:18px}.stress-scenario-name{color:#0f172a;color:var(--text);font-size:.95rem;font-weight:700;text-transform:capitalize}.stress-scenario-desc{color:#94a3b8;color:var(--text-muted);font-size:.8rem;line-height:1.45}.stress-scenario-preview{display:flex;flex-direction:column;gap:4px}.stress-scenario-imp{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.stress-scenario-wan-label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:600;min-width:60px}.stress-events-empty{color:#94a3b8;color:var(--text-muted);font-size:.85rem;padding:32px 0;text-align:center}.stress-events-list{display:flex;flex-direction:column;gap:4px;max-height:500px;overflow-y:auto}.stress-event-row{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:8px;border-radius:var(--radius-sm);display:flex;font-size:.78rem;gap:10px;padding:8px 12px}.stress-event-action{border-radius:999px;font-size:.7rem;font-weight:700;padding:2px 8px;text-transform:uppercase}.stress-event-action.apply{background:#ef44441a;color:#ef4444}.stress-event-action.clear{background:#22c55e1a;color:#22c55e}.stress-event-action.scenario{background:#6366f11a;color:#818cf8;color:var(--accent-light)}.stress-event-wan{color:#0f172a;color:var(--text);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono,monospace);font-weight:600}.stress-event-details{color:#94a3b8;color:var(--text-muted);flex:1 1}.stress-event-time{color:#94a3b8;color:var(--text-muted);font-size:.72rem;white-space:nowrap}@media (max-width:900px){.diag-wan-deep-grid,.stress-scenarios-grid,.stress-wan-grid{grid-template-columns:1fr}.diag-metric-row{grid-template-columns:repeat(2,1fr)}.diag-gauges-row{gap:16px}.diag-device-header{align-items:flex-start;flex-direction:column;gap:6px}.diag-device-summary{flex-wrap:wrap}}.chart-ts-wrap{position:relative;-webkit-user-select:none;user-select:none}.chart-ts-svg{display:block;height:auto;width:100%}.chart-grid-line{stroke:#e2e8f0;stroke:var(--c-border,#94a3b82e);stroke-width:1;shape-rendering:crispEdges}.chart-axis-label{font-feature-settings:"tnum";font-size:10px;font-variant-numeric:tabular-nums}.chart-axis-label,.chart-y-label{fill:#94a3b8;fill:var(--text-muted,#94a3b8)}.chart-y-label{text-anchor:middle;font-size:10px}.chart-line-anim{animation:chartLineIn .6s ease-out both}.chart-area-anim{animation:chartAreaIn .8s ease-out both}@keyframes chartLineIn{0%{stroke-dashoffset:1200;stroke-dasharray:1200}to{stroke-dashoffset:0;stroke-dasharray:1200}}@keyframes chartAreaIn{0%{opacity:0}to{opacity:1}}.chart-dot{transition:r .15s ease}.chart-dot:hover{r:4}.chart-crosshair{stroke:#94a3b8;stroke:var(--text-muted,#94a3b8);stroke-width:1;stroke-dasharray:4 3;opacity:.5}.chart-tooltip{background:#0f172a;border:1px solid #334155;border-radius:6px;box-shadow:0 4px 16px #0000002e;font-size:12px;padding:6px 10px;pointer-events:none;position:absolute;white-space:nowrap;z-index:10}.chart-tooltip-row{align-items:center;display:flex;gap:6px;padding:2px 0}.chart-tooltip-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.chart-tooltip-label{color:#94a3b8}.chart-tooltip-val{color:#f1f5f9;font-weight:600;margin-left:auto}.chart-legend{color:#94a3b8;color:var(--text-muted,#94a3b8);display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin-top:6px}.chart-legend-item{align-items:center;display:flex;gap:4px}.chart-legend-swatch{border-radius:2px;display:inline-block;flex-shrink:0;height:10px;width:10px}.chart-gauge-wrap{align-items:center;display:flex;flex-direction:column;position:relative}.chart-gauge-wrap svg{display:block}.chart-gauge-fill{transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1),stroke .3s ease}.chart-gauge-center{left:50%;position:absolute;text-align:center;top:54%;transform:translate(-50%,-50%)}.chart-gauge-value{font-feature-settings:"tnum";font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.chart-gauge-value small{font-size:11px;font-weight:500;opacity:.7}.chart-gauge-label{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px;margin-top:2px}.chart-donut-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.chart-donut-ring{flex-shrink:0;position:relative}.chart-donut-svg{display:block;transform:rotate(0deg)}.chart-donut-seg{animation:donutSegIn .5s ease-out both;animation-delay:0ms;animation-delay:var(--seg-delay,0ms)}@keyframes donutSegIn{0%{stroke-dasharray:0 9999;opacity:0}to{opacity:1}}.chart-donut-center{left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.chart-donut-center-val{color:#0f172a;color:var(--text-primary);font-size:22px;font-weight:700}.chart-donut-center-lbl{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px}.chart-donut-legend{display:flex;flex-direction:column;font-size:12px;gap:4px;min-width:140px}.chart-donut-legend-row{align-items:center;display:flex;gap:6px}.chart-donut-legend-label{color:#64748b;color:var(--text-secondary);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-donut-legend-val{color:#0f172a;color:var(--text-primary);font-weight:600;min-width:40px}.chart-donut-legend-pct,.chart-donut-legend-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.chart-donut-legend-pct{color:#94a3b8;color:var(--text-muted,#94a3b8);min-width:44px}.chart-heatmap-wrap{overflow-x:auto}.chart-heatmap{border-collapse:initial;border-spacing:3px;font-size:12px;width:100%}.chart-heatmap th{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 8px;text-align:center;text-transform:uppercase}.chart-heatmap-row-label{color:#64748b;color:var(--text-secondary);font-weight:600;padding-right:8px;text-align:right;white-space:nowrap}.chart-heatmap-cell{align-items:center;border-radius:4px;color:#fff;display:flex;font-size:12px;font-weight:700;height:32px;justify-content:center;text-shadow:0 1px 2px #0006;transition:transform .15s ease,box-shadow .15s ease;width:48px}.chart-heatmap-cell:hover{box-shadow:0 0 12px #0006;transform:scale(1.12);z-index:2}.chart-bar-wrap{display:flex;flex-direction:column;gap:6px}.chart-bar-row{align-items:center;display:flex;gap:8px}.chart-bar-label{color:#64748b;color:var(--text-secondary);font-size:12px;min-width:80px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.chart-bar-track{background:#e2e8f0;background:var(--c-border,#94a3b81f);border-radius:4px;flex:1 1;height:100%;overflow:hidden}.chart-bar-fill{animation:barSlideIn .5s ease-out both;animation-delay:0ms;animation-delay:var(--bar-delay,0ms);border-radius:4px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}@keyframes barSlideIn{0%{width:0!important}}.chart-bar-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;min-width:44px;text-align:right}.chart-spark{display:block;overflow:visible}.chart-spark-dot{animation:sparkPulse 2s ease-in-out infinite}@keyframes sparkPulse{0%,to{r:3;opacity:1}50%{r:2;opacity:.6}}.chart-kpi{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--c-border);border-radius:8px;display:flex;flex-direction:column;gap:2px;min-width:100px;padding:10px 12px}.chart-kpi-label{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.chart-kpi-row{align-items:baseline;display:flex;gap:6px}.chart-kpi-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.15;overflow-wrap:break-word;word-break:break-word}.chart-kpi-value small{font-size:12px;font-weight:500;opacity:.7}.chart-kpi-trend{font-size:16px;font-weight:700}.chart-timeline-wrap{overflow-x:auto;padding:4px 0}.chart-timeline-svg{display:block}.chart-timeline-line{stroke:#e2e8f0;stroke:var(--c-border);stroke-width:2}.chart-timeline-dot{cursor:pointer;filter:drop-shadow(0 0 3px rgba(239,68,68,.25));transition:r .15s ease,filter .15s ease}.chart-timeline-dot:hover{r:9;filter:drop-shadow(0 0 6px rgba(239,68,68,.45))}.chart-timeline-label{fill:#0f172a;fill:var(--text-primary);font-size:10px;font-weight:600}.chart-timeline-time{fill:#94a3b8;fill:var(--text-muted,#94a3b8);font-size:9px}.chart-timeline-empty{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:13px;padding:16px;text-align:center}.diag-dashboard{display:flex;flex-direction:column;gap:20px}.diag-row{grid-gap:16px;display:grid;gap:16px}.diag-row.cols-2{grid-template-columns:1fr 1fr}.diag-row.cols-3{grid-template-columns:1fr 1fr 1fr}.diag-row.cols-4{grid-template-columns:repeat(4,1fr)}.diag-row.cols-auto{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.diag-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:10px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:12px;padding:16px;transition:border-color .2s ease,box-shadow .2s ease}.diag-card:hover{border-color:color-mix(in srgb,#6366f1 40%,#e2e8f0);border-color:color-mix(in srgb,var(--accent) 40%,var(--card-border));box-shadow:0 2px 8px #6366f114}.diag-card-title{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.5px;text-transform:uppercase}.diag-kpi-strip{display:flex;flex-wrap:wrap;gap:10px}.diag-kpi-strip .chart-kpi{flex:1 1;min-width:100px}.diag-wan-compare{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.diag-wan-col{display:flex;flex-direction:column;gap:12px}.diag-wan-col-header{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--card-border);color:#0f172a;color:var(--text-primary);display:flex;font-size:15px;font-weight:700;gap:8px;padding-bottom:8px}.diag-wan-status-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.diag-wan-status-dot.up{background:#22c55e;box-shadow:0 0 6px #22c55e59}.diag-wan-status-dot.down{background:#ef4444;box-shadow:0 0 6px #ef444459}.diag-score-ring{align-items:center;display:flex;justify-content:center;position:relative}.diag-score-ring-val{font-feature-settings:"tnum";font-size:26px;font-variant-numeric:tabular-nums;font-weight:800;position:absolute}.diag-score-ring-label{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:10px;margin-top:4px;text-align:center}.diag-card-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--c-border,#94a3b81a);padding-top:8px}.diag-card-section-title{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:8px;text-transform:uppercase}.diag-device-donut-row{align-items:center;display:flex;gap:16px;padding:8px 0}.diag-iface-details{display:flex;flex-direction:column;gap:8px}.diag-iface-row{align-items:baseline;display:flex;gap:12px}.diag-iface-label{color:#94a3b8;color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.3px;min-width:54px;padding-top:1px;text-transform:uppercase}.diag-iface-value{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow-wrap:break-word;word-break:break-all}@media (max-width:1100px){.diag-row.cols-3,.diag-row.cols-4{grid-template-columns:1fr 1fr}.diag-wan-compare{grid-template-columns:1fr}}@media (max-width:700px){.diag-row.cols-2,.diag-row.cols-3,.diag-row.cols-4{grid-template-columns:1fr}.diag-kpi-strip{flex-direction:column}}.dash-mode-toggle-bar{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:20px;padding:14px 20px}.dash-mode-info{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;gap:8px}.dash-mode-label{color:#94a3b8;color:var(--text-muted);font-size:.8rem;font-weight:600}.dash-mode-badge,.dash-mode-label{letter-spacing:.05em;text-transform:uppercase}.dash-mode-badge{border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.3;padding:3px 10px}.dash-mode-badge.mode-app{background:color-mix(in srgb,#8b5cf6 15%,#0000);color:#8b5cf6}.dash-mode-badge.mode-cat{background:color-mix(in srgb,#06b6d4 15%,#0000);color:#06b6d4}.dash-mode-badge.mode-both{background:color-mix(in srgb,#22c55e 15%,#0000);color:#22c55e}.dash-mode-seg{align-items:center;background:color-mix(in srgb,#94a3b8 10%,#0000);background:color-mix(in srgb,var(--text-muted) 10%,#0000);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:999px;display:inline-flex;gap:4px;margin-left:auto;padding:4px}.dash-mode-seg-btn{appearance:none;background:none;border:none;border-radius:999px;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:.76rem;font-weight:600;padding:5px 14px;transition:background .15s ease,color .15s ease;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.dash-mode-seg-btn.active,.dash-mode-seg-btn:hover:not(:disabled):not(.active){color:#0f172a;color:var(--text-primary)}.dash-mode-seg-btn.active{background:#fff;background:var(--card-bg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm)}.dash-mode-seg-btn:disabled{cursor:not-allowed;opacity:.6}.dash-mode-seg-btn:focus-visible{outline:2px solid color-mix(in srgb,#8b5cf6 40%,#0000);outline-offset:1px}.dash-mode-switch{align-items:center;display:flex;gap:10px;margin-left:auto}.dash-mode-opt{color:#94a3b8;color:var(--text-muted);font-size:.78rem;font-weight:600;transition:color .15s ease;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none}.dash-mode-opt.active{color:#0f172a;color:var(--text-primary)}.dash-toggle-btn{background:none;border:none;cursor:pointer;outline:none;padding:0;position:relative}.dash-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.dash-toggle-track{background:#06b6d4;border-radius:12px;display:block;height:24px;position:relative;transition:background .25s ease;transition:background var(--transition-normal);width:44px}.dash-toggle-btn.toggled .dash-toggle-track{background:#8b5cf6}.dash-toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:18px;left:3px;position:absolute;top:3px;transition:transform .25s ease;transition:transform var(--transition-normal);width:18px}.dash-toggle-btn.toggled .dash-toggle-thumb{transform:translateX(20px)}.dash-toggle-btn:focus-visible .dash-toggle-track{box-shadow:0 0 0 3px color-mix(in srgb,#8b5cf6 30%,#0000)}.dash-mode-spinner{animation:dash-spin .6s linear infinite;border:2px solid #94a3b8;border:2px solid var(--text-muted);border-radius:50%;border-top:2px solid #0000;display:inline-block;height:16px;width:16px}@keyframes dash-spin{to{transform:rotate(1turn)}}.dash-mode-hint{color:#94a3b8;color:var(--text-muted);font-size:.72rem;line-height:1.35;width:100%}@media (max-width:700px){.dash-mode-toggle-bar{align-items:flex-start;flex-direction:column}.dash-mode-seg,.dash-mode-switch{margin-left:0}}.app-content-ssh{height:100%}.app-content-ssh,.remote-access-root{display:flex;flex-direction:column;min-height:0}.remote-access-root{flex:1 1;gap:16px}.ssh-connect-panel{flex-shrink:0}.ssh-form-grid{grid-gap:10px 14px;align-items:center;display:grid;gap:10px 14px;grid-template-columns:140px 1fr;margin-top:14px}.ssh-label{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.82rem;font-weight:600;gap:6px}.ssh-input{background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.85rem;outline:none;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ssh-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.ssh-input::placeholder{color:#94a3b8;color:var(--text-muted)}.ssh-textarea{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.8rem;min-height:80px;resize:vertical}.ssh-port{max-width:120px}.ssh-actions{margin-top:18px}.ssh-connect-btn{min-width:200px}.ssh-toolbar{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);flex-shrink:0;gap:12px;justify-content:space-between;padding:10px 16px}.ssh-toolbar,.ssh-toolbar-info{align-items:center;display:flex}.ssh-toolbar-info{color:#64748b;color:var(--text-secondary);font-size:.85rem;gap:8px}.ssh-toolbar-info strong{color:#0f172a;color:var(--text-primary);font-weight:700}.ssh-toolbar-info code{background:#f1f5f9;border-radius:4px;color:#4f46e5;color:var(--accent-dark);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.8rem;padding:2px 6px}.ssh-status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ssh-status-dot.online{background:#22c55e;background:var(--success);box-shadow:0 0 6px #22c55e80}.ssh-disconnect-btn{align-items:center;display:flex;font-size:.82rem!important;gap:6px;padding:7px 14px!important}.ssh-terminal-container{background:#0f172a;border:1px solid #6366f126;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #0f172a1f;flex:1 1;min-height:200px;overflow:hidden;padding:8px}.ssh-terminal-container.ssh-terminal-active{border-color:#6366f14d;box-shadow:0 4px 20px #0f172a26,0 0 0 1px #6366f11a}.ssh-terminal-container .xterm{height:100%}.ssh-terminal-container .xterm-viewport{border-radius:12px;border-radius:var(--radius-md)}.ssh-terminal-container .xterm-screen{height:100%!important}@media (max-width:700px){.ssh-form-grid{grid-template-columns:1fr}.ssh-label{margin-top:4px}.ssh-toolbar{align-items:flex-start;flex-direction:column}}.dataset-panel{display:flex;flex-direction:column;gap:16px}.dataset-toggle{border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;display:inline-flex;overflow:hidden;width:fit-content}.dataset-toggle button{background:#0000;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:7px 20px;transition:background .15s ease,color .15s ease}.dataset-toggle button+button{border-left:1px solid #e2e8f0;border-left:1px solid var(--card-border)}.dataset-toggle button.active{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.dataset-pill{border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0;margin-left:auto;padding:2px 10px;text-transform:none}.dataset-pill.ok{background:#22c55e1f;border:1px solid #22c55e4d;color:#16a34a}.dataset-pill.off{background:#94a3b81f;border:1px solid #94a3b84d;color:#94a3b8}.dataset-meta{color:#64748b;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:16px}.dataset-meta strong{color:#0f172a;color:var(--text-primary);font-weight:600}.dataset-note{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:13px;line-height:1.5;margin:0}.dataset-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.dataset-controls select{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:6px;color:#0f172a;color:var(--text-primary);font-size:13px;padding:4px 8px}.dataset-btn{background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:filter .15s ease}.dataset-btn:hover:not(:disabled){filter:brightness(1.08)}.dataset-btn:disabled{cursor:default;opacity:.6}.dataset-fetched{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:12px}.dataset-err{color:#ef4444;font-size:12px;font-weight:600}.dataset-sample-summary{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.dataset-sample-summary strong{color:#0f172a;color:var(--text-primary)}.dataset-table-wrap{border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;overflow-x:auto}.dataset-table{border-collapse:collapse;font-size:12.5px;width:100%}.dataset-table th{background:#fff;background:var(--card-bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:11px;font-weight:600;letter-spacing:.3px;padding:8px 10px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap}.dataset-table td{border-bottom:1px solid color-mix(in srgb,#e2e8f0 60%,#0000);border-bottom:1px solid color-mix(in srgb,var(--card-border) 60%,#0000);color:#64748b;color:var(--text-secondary);padding:7px 10px;white-space:nowrap}.dataset-table tbody tr:hover{background:#6366f10d}.dataset-mono{color:#0f172a;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px}.dataset-port{color:#94a3b8;color:var(--text-muted,#94a3b8)}.dataset-evt{border-radius:999px;font-size:11px;font-weight:700;padding:1px 8px}.dataset-evt.open{background:#22c55e1f;color:#16a34a}.dataset-evt.close{background:#f59e0b1f;color:#f59e0b}.dataset-class{background:color-mix(in srgb,#6366f1 12%,#0000);background:color-mix(in srgb,var(--accent,#6366f1) 12%,#0000);border-radius:4px;color:#6366f1;color:var(--accent,#6366f1);font-size:11px;font-weight:600;padding:1px 8px}.dataset-fields{color:#64748b;color:var(--text-secondary);font-size:13px;line-height:2}.dataset-field{background:#94a3b81f;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;margin-right:5px;padding:1px 6px}.shp-wrap{display:flex;flex-direction:column;gap:16px}.shp-explain{align-items:flex-start;background:linear-gradient(180deg,#fff,#fafbff);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);color:#64748b;color:var(--text-secondary);display:flex;font-size:13.5px;gap:12px;line-height:1.55;padding:16px 18px}.shp-explain-ico{color:#6366f1;color:var(--accent);flex-shrink:0;margin-top:1px}.shp-explain strong{color:#0f172a;color:var(--text-primary);font-weight:650}.shp-bulk{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.shp-bulk--open{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md)}.shp-bulk-head{align-items:center;background:none;border:none;cursor:pointer;display:flex;font:inherit;gap:12px;padding:13px 16px;text-align:left;width:100%}.shp-bulk-head:hover{background:#fafbff}.shp-bulk-ico{align-items:center;background:color-mix(in srgb,#6366f1 14%,#0000);background:color-mix(in srgb,var(--accent) 14%,#0000);border-radius:9px;color:#6366f1;color:var(--accent);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.shp-bulk-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.shp-bulk-title{color:#0f172a;color:var(--text-primary);font-size:14px;font-weight:650}.shp-bulk-sub{font-size:12px;line-height:1.45}.shp-bulk-chev,.shp-bulk-sub{color:#94a3b8;color:var(--text-muted)}.shp-bulk-chev{flex-shrink:0;margin-left:auto}.shp-bulk-body{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:14px;padding:14px 16px 18px}.shp-bulk-foot{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}.shp-bulk-note{align-items:center;color:#64748b;color:var(--text-secondary);display:inline-flex;font-size:12px;gap:6px;margin-right:auto}.shp-bulk-note svg{color:#6366f1;color:var(--accent);flex-shrink:0}.shp-bulk-apply{background:#6366f1;background:var(--accent);box-shadow:0 4px 12px color-mix(in srgb,#6366f1 35%,#0000);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 35%,#0000)}.shp-bulk-warn{align-items:flex-start;background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #f59e0b;border-radius:12px;border-radius:var(--radius-md);color:#92400e;display:flex;font-size:13px;gap:10px;line-height:1.5;margin-top:14px;padding:12px 14px}.shp-bulk-warn svg{color:#b45309;flex-shrink:0;margin-top:2px}.shp-bulk-warn strong{display:block;font-size:13.5px;margin-bottom:2px}.shp-toolbar{flex-wrap:wrap;gap:12px}.shp-search,.shp-toolbar{align-items:center;display:flex}.shp-search{flex:1 1;min-width:220px;position:relative}.shp-search-ico{color:#94a3b8;color:var(--text-muted);left:12px;pointer-events:none;position:absolute}.shp-search-input{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-size:13.5px;outline:none;padding:10px 34px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.shp-search-input:focus{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 0 0 3px #6366f11f}.shp-search-clear{background:none;border:none;border-radius:6px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:8px}.shp-search-clear:hover{background:#f1f5f9;color:#64748b;color:var(--text-secondary)}.shp-pills{background:#eef2f7;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:4px;padding:4px}.shp-pill{background:none;border:none;border-radius:8px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:550;padding:7px 14px;transition:all .15s ease;transition:all var(--transition-fast)}.shp-pill:hover{color:#0f172a;color:var(--text-primary)}.shp-pill--on{background:#fff;background:var(--card-bg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);color:#4f46e5;color:var(--accent-dark)}.shp-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-md);color:#b91c1c;display:flex;font-size:13px;gap:8px;padding:10px 14px}.shp-list{display:flex;flex-direction:column;gap:8px}.shp-group-lbl{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin:12px 2px 2px;text-transform:uppercase}.shp-group-lbl:first-child{margin-top:0}.shp-list-empty{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-direction:column;font-size:13.5px;gap:10px;padding:48px}.shp-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.shp-card--open{border-color:color-mix(in srgb,var(--shp-accent) 45%,var(--card-border));box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md)}.shp-card-head{align-items:center;background:none;border:none;cursor:pointer;display:flex;font:inherit;gap:12px;padding:14px 16px;text-align:left;width:100%}.shp-card-head:hover{background:#fafbff}.shp-card-ico{align-items:center;border-radius:9px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.shp-card-name{color:#0f172a;color:var(--text-primary);font-size:14px;font-weight:600}.shp-tag{align-items:center;border-radius:20px;display:inline-flex;font-size:10.5px;font-weight:600;gap:4px;padding:3px 8px}.shp-tag--inh{background:#eff6ff;color:#2563eb}.shp-tag--custom{background:#f5f3ff;color:#7c3aed}.shp-card-pkts{font-feature-settings:"tnum";font-size:11.5px;font-variant-numeric:tabular-nums;margin-left:auto}.shp-card-chev,.shp-card-pkts{color:#94a3b8;color:var(--text-muted)}.shp-card-chev{flex-shrink:0;transition:transform .15s ease;transition:transform var(--transition-fast)}.shp-card-pkts+.shp-card-chev{margin-left:8px}.shp-card-head .shp-card-chev:only-of-type{margin-left:auto}.shp-card-chev--open{color:var(--shp-accent);transform:rotate(180deg)}.shp-card-body{border-top:1px solid #f1f5f9;padding:4px 16px 18px}.shp-edit{display:flex;flex-direction:column;gap:14px;padding-top:14px}.shp-edit-empty{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:13px;gap:8px;padding:16px}.shp-mode{display:flex;flex-direction:column;gap:7px}.shp-mode-seg{align-self:flex-start;background:#f1f5f9;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:10px;display:inline-flex;gap:3px;padding:3px}.shp-mode-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:12.5px;font-weight:650;gap:6px;padding:7px 13px;transition:all .15s ease;transition:all var(--transition-fast)}.shp-mode-btn svg{flex-shrink:0}.shp-mode-btn--on{background:#fff;background:var(--card-bg);box-shadow:0 1px 3px #0f172a1f;color:#6366f1;color:var(--shp-accent,var(--accent))}.shp-mode-btn:disabled:not(.shp-mode-btn--on){cursor:default;opacity:.75}.shp-mode-hint{color:#94a3b8;color:var(--text-muted);font-size:11.5px;line-height:1.45}.shp-note{align-items:center;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);display:flex;font-size:12.5px;gap:9px;line-height:1.5;padding:10px 12px}.shp-note svg{color:#6366f1;color:var(--accent);flex-shrink:0}.shp-note--inherit{background:#eff6ff;border-color:#dbeafe;color:#1e40af}.shp-note--inherit svg{color:#2563eb}.shp-note--custom{background:#f5f3ff;border-color:#ede9fe;color:#5b21b6}.shp-note--custom svg{color:#7c3aed}.shp-revert{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #ddd6fe;border-radius:8px;color:#6d28d9;cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:600;gap:5px;margin-left:auto;padding:5px 10px;white-space:nowrap}.shp-revert:hover:not(:disabled){background:#f5f3ff}.shp-revert:disabled{cursor:not-allowed;opacity:.5}.shp-edit-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:760px){.shp-edit-grid{grid-template-columns:1fr}}.shp-col{display:flex;flex-direction:column;gap:8px}.shp-col-head{align-items:baseline;display:flex;justify-content:space-between}.shp-col-title{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.shp-col-hint{color:#94a3b8;color:var(--text-muted);font-size:11px}.shp-order{display:flex;flex-direction:column;gap:7px;min-height:56px}.shp-order-empty{border:1px dashed #e2e8f0;border:1px dashed var(--card-border);color:#94a3b8;color:var(--text-muted);font-size:12.5px;padding:14px;text-align:center}.shp-order-empty,.shp-rank{border-radius:12px;border-radius:var(--radius-md)}.shp-rank{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);cursor:grab;display:flex;gap:10px;padding:9px 10px;transition:all .15s ease;transition:all var(--transition-fast)}.shp-rank:hover{border-color:color-mix(in srgb,var(--shp-accent) 40%,var(--card-border))}.shp-rank--drag{cursor:grabbing;opacity:.5}.shp-rank--over{border-color:var(--shp-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--shp-accent) 18%,#0000)}.shp-rank-num{align-items:center;background:color-mix(in srgb,var(--shp-accent) 14%,#0000);border-radius:7px;color:var(--shp-accent);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:22px;justify-content:center;width:22px}.shp-rank-dot{background:var(--shp-accent);border-radius:50%;flex-shrink:0;height:8px;margin:0 7px;width:8px}.shp-rank-ico{color:#94a3b8;color:var(--text-muted);flex-shrink:0}.shp-rank-name{color:#0f172a;color:var(--text-primary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:13.5px;font-weight:550}.shp-rank-moves{display:flex;gap:2px;margin-left:auto}.shp-move{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:7px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:26px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:26px}.shp-move:hover:not(:disabled){background:#f1f5f9;color:#0f172a;color:var(--text-primary)}.shp-move:disabled{cursor:not-allowed;opacity:.3}.shp-rank-rm{align-items:center;background:none;border:1px solid #0000;border-radius:7px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;height:26px;justify-content:center;width:26px}.shp-rank-rm:hover{background:#fef2f2;color:#dc2626}.shp-avail{display:flex;flex-direction:column;gap:7px}.shp-all-added{background:#f0fdf4;border:1px dashed #bbf7d0;color:#22c55e;color:var(--success);font-size:12.5px;gap:7px;justify-content:center;padding:14px}.shp-all-added,.shp-avail-row{align-items:center;border-radius:12px;border-radius:var(--radius-md);display:flex}.shp-avail-row{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);cursor:pointer;font:inherit;gap:10px;padding:9px 10px;text-align:left;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.shp-avail-row:hover{background:#fff;background:var(--card-bg);border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs)}.shp-dot{background:#cbd5e1;border-radius:50%;flex-shrink:0;height:8px;width:8px}.shp-dot--up{background:#22c55e;background:var(--success);box-shadow:0 0 0 3px #22c55e26}.shp-avail-name{color:#0f172a;color:var(--text-primary);font-size:13.5px;font-weight:550}.shp-avail-addr,.shp-avail-name{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono)}.shp-avail-addr{color:#94a3b8;color:var(--text-muted);font-size:11px}.shp-avail-plus{color:#6366f1;color:var(--accent);margin-left:auto}.shp-edit-actions{display:flex;justify-content:flex-end;padding-top:2px}.shp-apply{align-items:center;background:#6366f1;background:var(--shp-accent,var(--accent));border:none;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 4px 12px color-mix(in srgb,var(--shp-accent) 35%,#0000);color:#fff;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:650;gap:8px;padding:11px 20px;transition:filter .15s ease;transition:filter var(--transition-fast)}.shp-apply:hover:not(:disabled){filter:brightness(1.06)}.shp-apply:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.shp-spinner{animation:shp-spin-kf .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes shp-spin-kf{to{transform:rotate(1turn)}}.shp-orb-iface{align-items:center;background:color-mix(in srgb,#22c55e 14%,#0000);background:color-mix(in srgb,var(--success) 14%,#0000);border-radius:20px;color:#15803d;display:inline-flex;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:9.5px;font-weight:700;gap:3px;letter-spacing:.01em;max-width:92px;overflow:hidden;padding:1px 7px;text-overflow:ellipsis;white-space:nowrap}.shp-orb-iface svg{flex-shrink:0}.shp-orb-iface--none{background:#fef2f2;color:#b91c1c;font-family:inherit}.shp-bloom-active{align-items:center;background:color-mix(in srgb,#22c55e 12%,#fff);background:color-mix(in srgb,var(--success) 12%,#fff);border:1px solid #bbf7d0;border-radius:999px;color:#15803d;display:inline-flex;font-size:12px;font-weight:650;gap:6px;margin-left:auto;padding:5px 11px}.shp-bloom-active strong{color:#166534;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-weight:700}.shp-bloom-active-lbl{color:#16a34a;font-weight:600}.shp-bloom-active svg{color:#16a34a}.shp-bloom-active-dot{animation:shp-livepulse 2s ease-in-out infinite;background:#22c55e;background:var(--success);border-radius:50%;box-shadow:0 0 0 3px #22c55e33;height:7px;width:7px}.shp-bloom-active--none{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.shp-bloom-active--none .shp-bloom-active-dot{animation:none;background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.shp-bloom-active--none .shp-bloom-active-lbl{color:#b91c1c}@keyframes shp-livepulse{0%,to{opacity:1}50%{opacity:.4}}.shp-rank--active{background:color-mix(in srgb,#22c55e 7%,#fff);background:color-mix(in srgb,var(--success) 7%,var(--card-bg));border-color:color-mix(in srgb,#22c55e 55%,#e2e8f0);border-color:color-mix(in srgb,var(--success) 55%,var(--card-border));box-shadow:0 0 0 2px color-mix(in srgb,#22c55e 18%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 18%,#0000)}.shp-rank--active .shp-rank-ico{color:#16a34a}.shp-rank-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.01em;padding:2px 8px;white-space:nowrap}.shp-rank-tag svg{flex-shrink:0}.shp-rank-tag--active{background:color-mix(in srgb,#22c55e 16%,#0000);background:color-mix(in srgb,var(--success) 16%,#0000);color:#15803d}.shp-rank-tag--degraded{background:#fef3c7;color:#b45309}.shp-rank-tag--offline{background:#f1f5f9;color:#94a3b8;color:var(--text-muted)}.qz-wrap{gap:16px;position:relative}.qz-blank,.qz-loading,.qz-wrap{display:flex;flex-direction:column}.qz-blank,.qz-loading{align-items:center;color:#94a3b8;color:var(--text-muted);gap:12px;justify-content:center;padding:64px;text-align:center}.qz-blank-ico{font-size:34px;opacity:.3}.qz-blank h3{color:#64748b;color:var(--text-secondary);font-size:16px;margin:0}.qz-blank p{font-size:13px;margin:0}.qz-loading{flex-direction:row;font-size:13.5px}.qz-spin{animation:qz-spin-kf .9s linear infinite}@keyframes qz-spin-kf{to{transform:rotate(1turn)}}.qz-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;display:flex;gap:8px;padding:10px 14px}.qz-error,.qz-toast{border-radius:12px;border-radius:var(--radius-md);font-size:13px}.qz-toast{animation:qz-toast-in .2s ease;background:#0f172a;border-left:3px solid #6366f1;border-left:3px solid var(--accent);bottom:24px;box-shadow:0 8px 25px #00000014;box-shadow:var(--shadow-lg);color:#fff;font-weight:550;padding:12px 18px;position:fixed;right:24px;z-index:60}@keyframes qz-toast-in{0%{opacity:0;transform:translateY(8px)}}.qz-explain{align-items:flex-start;background:linear-gradient(180deg,#fff,#fafbff);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);color:#64748b;color:var(--text-secondary);display:flex;font-size:13.5px;gap:12px;line-height:1.55;padding:16px 18px}.qz-explain-ico{color:#6366f1;color:var(--accent);flex-shrink:0;margin-top:1px}.qz-explain strong{color:#0f172a;color:var(--text-primary);font-weight:650}.qz-toolbar{flex-wrap:wrap;gap:12px}.qz-search,.qz-toolbar{align-items:center;display:flex}.qz-search{flex:1 1;min-width:220px;position:relative}.qz-search-ico{color:#94a3b8;color:var(--text-muted);left:12px;pointer-events:none;position:absolute}.qz-search-input{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-size:13.5px;outline:none;padding:10px 34px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.qz-search-input:focus{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 0 0 3px #6366f11f}.qz-search-clear{background:none;border:none;border-radius:6px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:8px}.qz-search-clear:hover{background:#f1f5f9}.qz-tools{display:flex;gap:6px}.qz-tool{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:550;gap:6px;padding:8px 12px;position:relative;transition:all .15s ease;transition:all var(--transition-fast)}.qz-tool:hover{border-color:#818cf8;border-color:var(--accent-light);color:#0f172a;color:var(--text-primary)}.qz-tool.on{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5;color:var(--accent-dark)}.qz-tool-badge{background:#f59e0b;background:var(--warning);border-radius:50%;height:6px;position:absolute;right:6px;top:6px;width:6px}.qz-events{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);padding:14px 16px}.qz-events-title{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}.qz-events-empty{color:#94a3b8;color:var(--text-muted);font-size:12.5px}.qz-events-list{display:flex;flex-direction:column;gap:6px}.qz-event{align-items:center;border-bottom:1px solid #f4f6fb;display:flex;font-size:12.5px;gap:10px;padding:7px 4px}.qz-event:last-child{border-bottom:none}.qz-event-class{color:#0f172a;color:var(--text-primary);font-weight:600}.qz-event-move{color:#4f46e5;color:var(--accent-dark);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono)}.qz-event-msg,.qz-event-reason{color:#64748b;color:var(--text-secondary)}.qz-event-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qz-event-time{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums;margin-left:auto}.qz-health{border-color:#c7d2fe;box-shadow:inset 0 0 0 1px #e0e7ff,0 1px 2px #00000008;box-shadow:0 0 0 1px #e0e7ff inset,var(--shadow-xs);margin-bottom:12px}.qz-health .qz-events-title{align-items:center;color:#4f46e5;color:var(--accent-dark);display:flex;gap:7px}.qz-health-note{background:#f5f7ff;border:1px solid #e6ebff;border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);display:flex;font-size:12.5px;gap:7px;line-height:1.5;margin-bottom:12px;padding:9px 11px}.qz-health-note svg{color:#6366f1;color:var(--accent);flex-shrink:0;margin-top:2px}.qz-health-hint{color:#94a3b8;color:var(--text-muted);font-size:11.5px;margin:10px 0 4px}.qz-health .qz-adv-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.qz-list{display:flex;flex-direction:column;gap:8px}.qz-group-lbl{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin:12px 2px 2px;text-transform:uppercase}.qz-list>.qz-group-lbl:first-child{margin-top:0}.qz-list-empty{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-direction:column;font-size:13.5px;gap:10px;padding:48px}.qz-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.qz-card--open{border-color:color-mix(in srgb,var(--qz-accent) 45%,var(--card-border));box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md)}.qz-card-head{align-items:center;background:none;border:none;cursor:pointer;display:flex;font:inherit;gap:10px;padding:14px 16px;text-align:left;width:100%}.qz-card-head:hover{background:#fafbff}.qz-card-name{color:#0f172a;color:var(--text-primary);font-size:14px;font-weight:600}.qz-tag.inh{background:#eff6ff;border-radius:20px;color:#2563eb;font-size:10.5px;font-weight:600;padding:3px 8px}.qz-level-chip{align-items:center;background:color-mix(in srgb,var(--lc) 12%,#0000);border-radius:20px;color:var(--lc);display:inline-flex;font-size:11.5px;font-weight:650;gap:5px;margin-left:auto;padding:4px 10px}.qz-dots{display:flex;gap:4px}.qz-dot{border-radius:50%;height:8px;width:8px}.qz-dot.ok{background:#22c55e;background:var(--success)}.qz-dot.fail{background:#ef4444;background:var(--danger)}.qz-chev{color:#94a3b8;color:var(--text-muted);flex-shrink:0;transition:transform .15s ease;transition:transform var(--transition-fast)}.qz-chev--open{color:var(--qz-accent);transform:rotate(180deg)}.qz-card-body{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:14px;padding:6px 16px 18px}.qz-meaning{color:#64748b;color:var(--text-secondary);font-size:13px;line-height:1.55;margin:8px 0 0}.qz-levels{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.qz-level{align-items:center;background:#fff;background:var(--card-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:10px;padding:11px 12px;position:relative;text-align:left;transition:all .15s ease;transition:all var(--transition-fast)}.qz-level:hover:not(:disabled){background:#fcfcff;border-color:color-mix(in srgb,var(--lc) 55%,var(--card-border))}.qz-level:disabled{cursor:wait;opacity:.6}.qz-level--on{background:color-mix(in srgb,var(--lc) 7%,#fff);border-color:var(--lc);box-shadow:0 0 0 3px color-mix(in srgb,var(--lc) 14%,#0000)}.qz-level-ico{align-items:center;background:color-mix(in srgb,var(--lc) 13%,#0000);border-radius:8px;color:var(--lc);display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.qz-level-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.qz-level-label{color:#0f172a;color:var(--text-primary);font-size:13px;font-weight:650}.qz-level-short{color:#94a3b8;color:var(--text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qz-level-check{color:var(--lc);flex-shrink:0;margin-left:auto}.qz-wanq{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;border-radius:var(--radius-md);padding:12px 14px}.qz-wanq-title{color:#64748b;color:var(--text-secondary);font-size:11.5px;font-weight:650;margin-bottom:10px}.qz-wanq-list{display:flex;flex-direction:column;gap:8px}.qz-wanq-row{align-items:center;display:flex;font-size:12.5px;gap:10px}.qz-wanq-row svg{color:#94a3b8;color:var(--text-muted);flex-shrink:0}.qz-wanq-row.fail .qz-wanq-name{color:#ef4444;color:var(--danger)}.qz-wanq-name{color:#0f172a;color:var(--text-primary);flex-shrink:0;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-weight:550;width:72px}.qz-wanq-bar{background:#e2e8f0;border-radius:4px;flex:1 1;height:7px;overflow:hidden}.qz-wanq-fill{border-radius:4px;display:block;height:100%;transition:width .25s ease;transition:width var(--transition-normal)}.qz-wanq-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;text-align:right;width:26px}.qz-wanq-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:10.5px;font-weight:650;gap:4px;padding:3px 8px;white-space:nowrap}.qz-wanq-badge.ok{background:#f0fdf4;color:#15803d}.qz-wanq-badge.fail{background:#fef2f2;color:#b91c1c}.qz-inherit-note{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;border-radius:var(--radius-md);color:#1e40af;display:flex;font-size:12.5px;gap:8px;padding:10px 12px}.qz-inherit-note svg{flex-shrink:0}.qz-card-actions{display:flex;gap:8px}.qz-link-btn{align-items:center;background:none;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:550;gap:6px;padding:8px 12px;transition:all .15s ease;transition:all var(--transition-fast)}.qz-link-btn:hover:not(:disabled){background:#fcfcff;border-color:#818cf8;border-color:var(--accent-light);color:#4f46e5;color:var(--accent-dark)}.qz-link-btn.danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#dc2626}.qz-link-btn:disabled{cursor:not-allowed;opacity:.5}.qz-adv{background:#fcfcff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);padding:14px}.qz-adv-title{color:#64748b;color:var(--text-secondary);font-size:12px;line-height:1.4;margin-bottom:12px}.qz-adv-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.qz-field{display:flex;flex-direction:column;gap:5px}.qz-field>span{color:#64748b;color:var(--text-secondary);font-size:11.5px;font-weight:550}.qz-field input,.qz-field select{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;color:#0f172a;color:var(--text-primary);font-size:13px;outline:none;padding:8px 10px}.qz-field input:focus,.qz-field select:focus{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 0 0 3px #6366f11f}.qz-adv-foot{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:14px}.qz-switch{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px}.qz-switch.on{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.qz-adv-btns{display:flex;gap:8px}.qz-btn{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease;transition:all var(--transition-fast)}.qz-btn:hover:not(:disabled){background:#f1f5f9}.qz-btn.primary{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff}.qz-btn.primary:hover:not(:disabled){filter:brightness(1.06)}.qz-btn:disabled{cursor:not-allowed;opacity:.5}.qz-wheels,.shp-wheels{display:flex;flex-direction:column;gap:18px}.qz-wheelsec,.shp-wheelsec{display:flex;flex-direction:column;gap:8px}.qz-wheel-lbl,.shp-wheel-lbl{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin-left:4px;text-transform:uppercase}.qz-wheel-row,.shp-wheel-row{align-items:center;display:flex;gap:6px}.qz-wheel-nav,.shp-wheel-nav{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:50%;box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:30px;z-index:2}.qz-wheel-nav:hover,.shp-wheel-nav:hover{border-color:#818cf8;border-color:var(--accent-light);color:#6366f1;color:var(--accent);transform:scale(1.08)}.qz-wheel-nav:active,.shp-wheel-nav:active{transform:scale(.94)}.qz-wheel,.shp-wheel{align-items:flex-end;display:flex;flex:1 1;gap:6px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000);overflow-x:auto;overflow-y:hidden;padding:26px 44% 14px;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.qz-wheel::-webkit-scrollbar,.shp-wheel::-webkit-scrollbar{display:none}.qz-orb,.shp-orb{align-items:center;background:none;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;flex:0 0 auto;flex-direction:column;font:inherit;gap:7px;opacity:.62;padding:4px 2px;scroll-snap-align:center;transform:scale(.84) translateY(6px);transform-origin:bottom center;transition:transform .32s cubic-bezier(.34,1.4,.5,1),opacity .28s ease;width:96px}.qz-orb:hover,.shp-orb:hover{opacity:.92;transform:scale(.92) translateY(2px)}.qz-orb--on,.shp-orb--on{opacity:1;transform:scale(1.12) translateY(0)}.qz-orb-ring,.shp-orb-ring{align-items:center;background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--qz-accent) 22%,#fff) 0,#fff 72%);background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 22%,#fff) 0,var(--card-bg) 72%);border:2px solid color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 28%,var(--card-border));border-radius:50%;box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);display:flex;height:60px;justify-content:center;position:relative;transition:border-color .28s ease,box-shadow .28s ease,background .28s ease;width:60px}.qz-orb-ring{background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--qz-accent) 22%,#fff) 0,#fff 72%);background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--qz-accent) 22%,#fff) 0,var(--card-bg) 72%);border-color:color-mix(in srgb,var(--qz-accent) 28%,var(--card-border))}.qz-orb-ico,.shp-orb-ico{color:var(--qz-accent);color:var(--shp-accent,var(--qz-accent));display:flex}.qz-orb-ico{color:var(--qz-accent)}.qz-orb--on .qz-orb-ring,.shp-orb--on .shp-orb-ring{background:radial-gradient(circle at 32% 26%,color-mix(in srgb,var(--qz-accent) 36%,#fff) 0,color-mix(in srgb,var(--qz-accent) 8%,#fff) 78%);background:radial-gradient(circle at 32% 26%,color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 36%,#fff) 0,color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 8%,#fff) 78%);border-color:var(--shp-accent,var(--qz-accent));border-width:2.5px;box-shadow:0 0 0 5px color-mix(in srgb,var(--qz-accent) 16%,#0000),0 10px 22px color-mix(in srgb,var(--qz-accent) 32%,#0000);box-shadow:0 0 0 5px color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 16%,#0000),0 10px 22px color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 32%,#0000)}.qz-orb--on .qz-orb-ring{background:radial-gradient(circle at 32% 26%,color-mix(in srgb,var(--qz-accent) 36%,#fff) 0,color-mix(in srgb,var(--qz-accent) 8%,#fff) 78%);border-color:var(--qz-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--qz-accent) 16%,#0000),0 10px 22px color-mix(in srgb,var(--qz-accent) 32%,#0000)}.qz-orb-name,.shp-orb-name{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.2;max-width:92px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.qz-orb--on .qz-orb-name,.shp-orb--on .shp-orb-name{color:#0f172a;color:var(--text-primary);font-weight:700}.shp-orb-badge{font-feature-settings:"tnum";background:color-mix(in srgb,var(--shp-accent) 13%,#0000);border-radius:20px;color:var(--shp-accent);font-size:9.5px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em;padding:2px 7px}.shp-orb-badge--idle{background:#f1f5f9;color:#94a3b8;color:var(--text-muted);font-weight:600}.qz-orb-level{color:var(--qz-accent);font-size:10px;font-weight:650;text-transform:none}.qz-orb-dots{display:flex;gap:3px}.qz-orb .qz-dot{border-radius:50%;height:6px;width:6px}.shp-orb-link{align-items:center;bottom:-2px;color:#fff;display:flex;height:17px;justify-content:center;right:-2px;width:17px}.qz-orb-inh-dot,.shp-orb-link{background:#2563eb;border:2px solid #fff;border:2px solid var(--card-bg);border-radius:50%;position:absolute}.qz-orb-inh-dot{bottom:-1px;height:11px;right:-1px;width:11px}.qz-stage,.shp-stage{min-height:64px}.qz-stage-hint,.shp-stage-hint{align-items:center;background:#fafbff;border:1.5px dashed #e2e8f0;border:1.5px dashed var(--card-border);border-radius:16px;border-radius:var(--radius-lg);color:#94a3b8;color:var(--text-muted);display:flex;font-size:13px;gap:10px;justify-content:center;padding:26px;text-align:center}.qz-stage-hint svg,.shp-stage-hint svg{color:#6366f1;color:var(--accent);flex-shrink:0}.qz-bloom,.shp-bloom{animation:orb-bloom-in .34s cubic-bezier(.22,1,.36,1);background:#fff;background:var(--card-bg);border:1px solid color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 42%,var(--card-border));border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 14px 40px color-mix(in srgb,var(--qz-accent) 14%,#0000),0 4px 12px #0000000f;box-shadow:0 14px 40px color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 14%,#0000),var(--shadow-md);overflow:hidden;transform-origin:top center}.qz-bloom{border-color:color-mix(in srgb,var(--qz-accent) 42%,var(--card-border));box-shadow:0 14px 40px color-mix(in srgb,var(--qz-accent) 14%,#0000),0 4px 12px #0000000f;box-shadow:0 14px 40px color-mix(in srgb,var(--qz-accent) 14%,#0000),var(--shadow-md)}@keyframes orb-bloom-in{0%{opacity:0;transform:scaleY(.9) translateY(-10px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.qz-bloom-head,.shp-bloom-head{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--qz-accent) 6%,#fff),#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--shp-accent,var(--qz-accent)) 6%,#fff),var(--card-bg));border-bottom:1px solid #f1f5f9;display:flex;gap:12px;padding:16px 18px}.qz-bloom-head{background:linear-gradient(180deg,color-mix(in srgb,var(--qz-accent) 6%,#fff),#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--qz-accent) 6%,#fff),var(--card-bg))}.qz-bloom-ico,.shp-bloom-ico{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.qz-bloom-titles,.shp-bloom-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.qz-bloom-title,.shp-bloom-title{color:#0f172a;color:var(--text-primary);font-size:15.5px;font-weight:700}.qz-bloom-sub,.shp-bloom-sub{color:#94a3b8;color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qz-bloom-close,.shp-bloom-close{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:9px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-left:auto;transition:all .15s ease;transition:all var(--transition-fast);width:32px}.qz-bloom-close:hover,.shp-bloom-close:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.qz-bloom-body,.shp-bloom>.shp-edit{padding:16px 18px 18px}.qz-bloom-body{display:flex;flex-direction:column;gap:14px}.qz-bloom-body>.qz-meaning{margin:0}@media (max-width:760px){.qz-wheel,.shp-wheel{padding-left:38%;padding-right:38%}.qz-orb,.shp-orb{width:84px}}.cloud-card-v2-regionline{align-items:baseline;display:flex;gap:7px;padding:9px 12px 7px}.cloud-card-v2-flag{font-size:.95rem;line-height:1}.cloud-card-v2-regionname{color:#0f172a;font-size:.86rem;font-weight:700;letter-spacing:-.01em}.cloud-card-v2-sub{color:#94a3b8;font-size:.66rem;font-weight:600;margin-left:auto}.cloud-card-v2-count{align-items:center;background:#6d28d91f;border-radius:999px;color:#6d28d9;display:inline-flex;font-family:inherit;font-size:.6rem;font-weight:800;height:15px;justify-content:center;margin-left:6px;min-width:15px;padding:0 4px}.cloud-card-v2--stack .cloud-card-v2-row+.cloud-card-v2-row{border-top:1px solid #0f172a0f}.cloud-card-v2-row{border-radius:8px;transition:background .12s ease}.cloud-card-v2-row:hover{background:#6366f10d}.cloud-card-v2-row--active{background:#6366f112;box-shadow:inset 2px 0 0 #6366f1}.cloud-card-v2-addr{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:.66rem;margin-top:1px}@media (prefers-color-scheme:dark){.cloud-card-v2-regionname{color:#e2e8f0}.cloud-card-v2-addr,.cloud-card-v2-sub{color:#64748b}.cloud-card-v2--stack .cloud-card-v2-row+.cloud-card-v2-row{border-top-color:#e2e8f014}.cloud-card-v2-row:hover{background:#6366f11a}.cloud-card-v2-row--active{background:#6366f124}.cloud-card-v2-count{background:#8b5cf62e;color:#a78bfa}}.ac-stack{display:flex;flex-direction:column;gap:18px}.ac-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.ac-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ac-row{align-items:center;background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 14px}.ac-row-main{flex:1 1;min-width:0}.ac-row-title{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:600;gap:8px;word-break:break-all}.ac-row-meta{color:#64748b;color:var(--text-secondary);font-size:.72rem;margin-top:2px}.ac-row-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ac-row-actions{gap:6px}.ac-form,.ac-row-actions{align-items:center;display:flex}.ac-form{flex-wrap:wrap;gap:8px;margin:14px 0 4px}.ac-newform{background:#fafbfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:12px;margin:14px 0;padding:14px}.ac-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ac-field{display:flex;flex-direction:column;gap:5px}.ac-field>span{color:#64748b;color:var(--text-secondary);font-size:11.5px;font-weight:550}.ac-input{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;color:#0f172a;color:var(--text-primary);font-size:13px;outline:none;padding:8px 10px;width:100%}.ac-input:focus{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 0 0 3px #6366f11f}.ac-input:disabled{cursor:not-allowed;opacity:.55}.ac-input.narrow{max-width:200px}.ac-blurb{font-size:.8rem}.ac-blurb,.ac-btn{color:#64748b;color:var(--text-secondary)}.ac-btn{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease;transition:all var(--transition-fast)}.ac-btn:hover:not(:disabled){background:#f1f5f9}.ac-btn:disabled{cursor:not-allowed;opacity:.5}.ac-btn.primary{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff}.ac-btn.primary:hover:not(:disabled){background:#6366f1;background:var(--accent);filter:brightness(1.06)}.ac-btn.danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.ac-btn.danger:hover:not(:disabled){background:#fee2e2}.ac-btn.icon{padding:8px 10px}.ac-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ac-chip{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;padding:5px 11px;transition:all .15s ease;transition:all var(--transition-fast)}.ac-chip:hover:not(:disabled){background:#f1f5f9}.ac-chip.on{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5;color:var(--accent-dark)}.ac-chip.sm{font-size:11px;padding:3px 9px}.ac-chip:disabled{cursor:not-allowed;opacity:.5}.ac-tag{border-radius:9999px;font-size:.65rem;font-weight:700;letter-spacing:.03em;padding:1px 8px;text-transform:uppercase}.ac-tag.self{background:#eef2ff;border:1px solid #c7d2fe;color:#4f46e5;color:var(--accent-dark)}.ac-tag.off{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.ac-tag.temp{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1}.sidebar-account{align-items:center;border-top:1px solid #94a3b814;border-top:1px solid var(--sidebar-border);display:flex;gap:8px;justify-content:space-between;margin-top:8px;padding:10px 4px}.sidebar.collapsed .sidebar-account{justify-content:center;padding:8px 0}.sidebar-account-info{min-width:0}.sidebar-account-name{color:#e2e8f0;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-role{color:#64748b;font-size:.68rem}.sidebar-account-btn{align-items:center;background:#0000;border:1px solid #94a3b847;border-radius:8px;color:#94a3b8;cursor:pointer;display:inline-flex;justify-content:center;padding:7px;transition:all .15s ease;transition:all var(--transition-fast)}.sidebar-account-btn:hover{background:#94a3b814;border-color:#94a3b880;color:#e2e8f0}.tp-page{display:flex;flex-direction:column;gap:16px}.tp-page svg.rot{transform:rotate(180deg)}.tp-page input[type=number]{font-feature-settings:"tnum";background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;padding:7px 9px;width:88px}.tp-page input[type=number]:focus{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 0 0 3px #6366f11f;outline:none}.tp-page input[type=range]{accent-color:#6366f1;accent-color:var(--accent);flex:1 1;min-width:110px}.tp-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);padding:18px 20px}.tp-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.tp-card-head h3{color:#0f172a;color:var(--text-primary);font-size:14.5px;font-weight:680;margin:0}.tp-loading{font-size:13px}.tp-empty,.tp-loading{color:#64748b;color:var(--text-secondary)}.tp-empty{align-items:flex-start;display:flex;gap:14px}.tp-empty svg{color:#94a3b8;color:var(--text-muted);flex:none;margin-top:2px}.tp-empty h3{color:#0f172a;color:var(--text-primary);font-size:14.5px;margin:0 0 6px}.tp-empty p{margin:0 0 8px}.tp-empty p,.tp-muted{font-size:12.5px;line-height:1.55}.tp-muted{color:#64748b;color:var(--text-secondary)}.tp-hint{color:#94a3b8;color:var(--text-muted);font-size:11.5px;line-height:1.55;margin:8px 0 0}.tp-badge{background:color-mix(in srgb,var(--c) 12%,#0000);border:1px solid color-mix(in srgb,var(--c) 40%,#0000);border-radius:999px;color:var(--c);font-size:11.5px;font-weight:680;padding:4px 12px;white-space:nowrap}.tp-step{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.tp-step-n{align-items:center;background:#6366f1;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex:none;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.tp-step b{color:#0f172a;color:var(--text-primary);display:block;font-size:14px;font-weight:660}.tp-step>div>span{color:#64748b;color:var(--text-secondary);display:block;margin-top:3px}.tp-alert,.tp-step>div>span{font-size:12.5px;line-height:1.55}.tp-alert{align-items:flex-start;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:11px;padding:13px 16px}.tp-alert svg{flex:none;margin-top:2px}.tp-alert b{display:block;font-size:13px;margin-bottom:3px}.tp-alert--danger{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}.tp-alert--danger b,.tp-alert--danger svg{color:#ef4444;color:var(--danger)}.tp-alert--warn{background:#fffbeb;border:1px solid #fde68a;color:#78350f}.tp-alert--warn b,.tp-alert--warn svg{color:#b45309}.tp-alert-detail{margin-top:6px;opacity:.85}.tp-alert-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tp-note{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);display:flex;font-size:12px;gap:9px;line-height:1.55;margin-top:12px;padding:11px 13px}.tp-note svg{color:#94a3b8;color:var(--text-muted);flex:none;margin-top:2px}.tp-note strong{color:#0f172a;color:var(--text-primary)}.tp-note--warn{background:#fffbeb;border-color:#fde68a;color:#78350f}.tp-note--warn svg{color:#b45309}.tp-note button{flex:none;margin-left:auto}.tp-btn{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:620;gap:6px;padding:8px 14px;transition:all .15s ease;transition:all var(--transition-fast);white-space:nowrap}.tp-btn:hover:not(:disabled){background:#f8faff;border-color:#818cf8;border-color:var(--accent-light);color:#4f46e5;color:var(--accent-dark)}.tp-btn:disabled{cursor:not-allowed;opacity:.45}.tp-btn--primary{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff}.tp-btn--primary:hover:not(:disabled){background:#4f46e5;background:var(--accent-dark);border-color:#4f46e5;border-color:var(--accent-dark);color:#fff}.tp-btn--sm{font-size:11.5px;padding:6px 11px}.tp-btn em{font-style:normal;font-weight:500;opacity:.6}.tp-verdict{border-left:4px solid #94a3b8;border-left:4px solid var(--text-muted)}.tp-verdict.is-on{border-left-color:#22c55e;border-left-color:var(--success)}.tp-verdict.is-off{border-left-color:#e2e8f0;border-left-color:var(--card-border)}.tp-verdict-main{align-items:flex-start;display:flex;gap:14px}.tp-verdict-icon{align-items:center;border-radius:12px;border-radius:var(--radius-md);display:flex;flex:none;height:44px;justify-content:center;width:44px}.tp-verdict.is-on .tp-verdict-icon{background:#ecfdf5;color:#22c55e;color:var(--success)}.tp-verdict.is-off .tp-verdict-icon{background:#f1f5f9;color:#94a3b8;color:var(--text-muted)}.tp-verdict-text h3{color:#0f172a;color:var(--text-primary);font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0}.tp-verdict-text p{color:#64748b;color:var(--text-secondary);font-size:12.5px;line-height:1.55;margin:5px 0 0}.tp-meter{background:#e9eef5;border-radius:4px;height:8px;margin-top:16px;overflow:hidden}.tp-meter-fill{background:#22c55e;background:var(--success);border-radius:4px;height:100%;transition:width .25s ease;transition:width var(--transition-normal)}.tp-meter-key{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px;margin-top:8px}.tp-meter-key .tp-dot{margin-left:auto}.tp-dot{background:#94a3b8;background:var(--text-muted);border-radius:50%;flex:none;height:8px;width:8px}.tp-dot.ok{background:#22c55e;background:var(--success)}.tp-dot.off{background:#f59e0b;background:var(--warning)}.tp-choices{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.tp-choices--sub{margin-top:10px}.tp-choice{align-items:stretch;background:#fff;background:var(--card-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:13px 14px;text-align:left;transition:all .15s ease;transition:all var(--transition-fast)}.tp-choice:hover:not(:disabled){border-color:color-mix(in srgb,var(--c) 50%,var(--card-border));box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.tp-choice:disabled{cursor:not-allowed;opacity:.45}.tp-choice.is-on{background:color-mix(in srgb,var(--c) 6%,#fff);border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 13%,#0000)}.tp-choice-top{gap:9px}.tp-choice-ico,.tp-choice-top{align-items:center;display:flex}.tp-choice-ico{background:color-mix(in srgb,var(--c) 12%,#0000);border-radius:8px;color:var(--c);flex:none;height:28px;justify-content:center;width:28px}.tp-choice-label{color:#0f172a;color:var(--text-primary);font-size:13.5px;font-weight:670}.tp-choice.is-on .tp-choice-label{color:var(--c)}.tp-choice-check{color:var(--c);flex:none;margin-left:auto}.tp-choice-tag{background:#eef2ff;border-radius:5px;color:#4f46e5;color:var(--accent-dark);font-size:9.5px;font-weight:700;letter-spacing:.05em;margin-left:auto;padding:3px 7px;text-transform:uppercase;white-space:nowrap}.tp-choice-blurb{color:#64748b;color:var(--text-secondary);font-size:12px;line-height:1.5}.tp-choice-cost{color:#94a3b8;color:var(--text-muted);font-size:11px;line-height:1.45}.tp-choice-blocked{color:#ef4444;color:var(--danger);font-size:11px;font-weight:620}.tp-detail{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--card-border);color:#64748b;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:11.5px;gap:6px 18px;margin-top:12px;padding-top:12px}.tp-detail b{color:#94a3b8;color:var(--text-muted);font-size:10.5px;font-weight:620;letter-spacing:.04em;margin-right:5px;text-transform:uppercase}.tp-detail-tag{background:#f5f3ff;border-radius:999px;color:#7c3aed;font-weight:650;padding:1px 8px}.tp-detail-warn{color:#ef4444;color:var(--danger);flex-basis:100%}.tp-presets{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.tp-preset{align-items:stretch;background:#fff;background:var(--card-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:14px 15px;text-align:left;transition:all .15s ease;transition:all var(--transition-fast)}.tp-preset:hover:not(:disabled){border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.tp-preset:disabled{cursor:not-allowed;opacity:.5}.tp-preset.is-on{background:#f8faff;border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.tp-choice.is-on:disabled,.tp-preset.is-on:disabled{cursor:default;opacity:1}.tp-preset-top{align-items:center;display:flex;gap:8px}.tp-preset-title{color:#0f172a;color:var(--text-primary);font-size:13.5px;font-weight:670}.tp-preset-now,.tp-preset.is-on .tp-preset-title{color:#4f46e5;color:var(--accent-dark)}.tp-preset-now{align-items:center;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.05em;margin-left:auto;text-transform:uppercase}.tp-preset-sub{color:#64748b;color:var(--text-secondary);font-size:12px;line-height:1.5}.tp-progress{align-items:center;background:#eef2f7;border-radius:8px;border-radius:var(--radius-sm);display:flex;height:26px;margin-top:12px;overflow:hidden;position:relative}.tp-progress-fill{background:#dde7fb;inset:0 auto 0 0;position:absolute;transition:width .15s ease;transition:width var(--transition-fast)}.tp-progress span{font-size:11.5px;font-weight:600;padding:0 11px;position:relative}.tp-disclose,.tp-progress span{color:#64748b;color:var(--text-secondary)}.tp-disclose{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:12.5px;font-weight:620;gap:8px;margin-top:14px;padding:9px 0;text-align:left;width:100%}.tp-disclose:hover{color:#4f46e5;color:var(--accent-dark)}.tp-disclose svg{transition:transform .15s ease;transition:transform var(--transition-fast)}.tp-disclose--nested{font-size:12px;font-weight:600;margin-top:6px}.tp-card>.tp-disclose:first-child{margin-top:0;padding-top:0}.tp-disclose-flag{background:#fffbeb;border:1px solid #fde68a;border-radius:5px;color:#b45309;font-size:10px;font-weight:700;letter-spacing:.04em;margin-left:auto;padding:2px 7px;text-transform:uppercase}.tp-list-wrap{margin-top:4px}.tp-list-tools{display:flex;justify-content:flex-end;margin-bottom:10px}.tp-check{align-items:center;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:11.5px;gap:6px}.tp-check input{accent-color:#6366f1;accent-color:var(--accent)}.tp-list-head{color:#94a3b8;color:var(--text-muted);font-size:10.5px;font-weight:700;letter-spacing:.06em;margin:4px 0 8px;text-transform:uppercase}.tp-list{display:flex;flex-direction:column;gap:4px}.tp-row{align-items:center;background:#f8fafc;border:1px solid #0000;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:12px;padding:9px 12px;transition:background .15s ease;transition:background var(--transition-fast)}.tp-row.is-on{background:#f0fdf6;border-color:#bbf7d0}.tp-row-main{flex:1 1;min-width:0}.tp-row-name{color:#0f172a;color:var(--text-primary);display:block;font-size:13px;font-weight:600}.tp-row-hint{display:block;margin-top:1px;overflow:hidden;text-overflow:ellipsis}.tp-row-count,.tp-row-hint{color:#94a3b8;color:var(--text-muted);font-size:11px;white-space:nowrap}.tp-row-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tp-row-tier{background:color-mix(in srgb,var(--c) 12%,#0000);border:1px solid color-mix(in srgb,var(--c) 32%,#0000);border-radius:999px;color:var(--c);font-size:11.5px;font-weight:640;padding:3px 10px;white-space:nowrap}.tp-row-tier.is-off{background:#0000;border-color:#e2e8f0;border-color:var(--card-border);color:#94a3b8;color:var(--text-muted)}.tp-row-select{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);cursor:pointer;font:inherit;font-size:11.5px;padding:5px 8px}.tp-switch{background:#cbd5e1;border:none;border-radius:12px;cursor:pointer;flex:none;height:22px;padding:0;position:relative;transition:background .15s ease;transition:background var(--transition-fast);width:40px}.tp-switch.is-on{background:#22c55e;background:var(--success)}.tp-switch:disabled{cursor:not-allowed;opacity:.4}.tp-switch-knob{background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);height:16px;left:3px;position:absolute;top:3px;transition:transform .15s ease;transition:transform var(--transition-fast);width:16px}.tp-switch.is-on .tp-switch-knob{transform:translateX(18px)}.tp-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:14px}.tp-stat{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;border-radius:var(--radius-md);padding:11px 13px}.tp-stat-label{color:#94a3b8;color:var(--text-muted);font-size:10.5px;font-weight:620;line-height:1.35;margin-bottom:4px}.tp-stat-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:17px;font-variant-numeric:tabular-nums;font-weight:700}.tp-stat-value.warn{color:#f59e0b;color:var(--warning)}.tp-stat-sub{color:#94a3b8;color:var(--text-muted);font-size:10.5px;line-height:1.4;margin-top:2px}.tp-scores{grid-gap:1px;background:#e2e8f0;background:var(--card-border);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:grid;gap:1px;grid-template-columns:repeat(3,1fr);overflow:hidden}@media (max-width:780px){.tp-scores{grid-template-columns:1fr}}.tp-score{background:#fff;background:var(--card-bg);padding:14px 15px}.tp-score-who{color:#94a3b8;color:var(--text-muted);font-size:10px;letter-spacing:.09em;margin-bottom:8px;text-transform:uppercase}.tp-score-verdict{align-items:flex-start;color:#0f172a;color:var(--text-primary);display:flex;font-size:14.5px;font-weight:660;gap:8px;line-height:1.35;margin-bottom:5px}.tp-pip{border-radius:2px;flex:none;height:8px;margin-top:5px;width:8px}.tp-pip.good{background:#22c55e;background:var(--success)}.tp-pip.warn{background:#f59e0b;background:var(--warning)}.tp-pip.bad{background:#b42318}.tp-score-sub{color:#94a3b8;color:var(--text-muted);font-size:12px;line-height:1.5}.tp-wire{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);margin-top:14px;padding:13px 15px}.tp-wire-head{align-items:baseline;color:#94a3b8;color:var(--text-muted);display:flex;font-size:10px;gap:12px;justify-content:space-between;letter-spacing:.09em;margin-bottom:9px;text-transform:uppercase}.tp-wire-rate{color:#22c55e;color:var(--success);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:none}.tp-wire-bar{border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:6px;display:flex;height:30px;overflow:hidden}.tp-wire-fill,.tp-wire-real{transition:width .9s cubic-bezier(.4,0,.2,1)}.tp-wire-real{background:#6366f1;background:var(--accent)}.tp-wire-fill{background-color:#94a3b82e;background-image:repeating-linear-gradient(45deg,#94a3b873 0 2px,#0000 2px 7px)}@media (prefers-reduced-motion:reduce){.tp-wire-fill,.tp-wire-real{transition:none}}.tp-wire-key{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:11.5px;gap:6px 16px;margin-top:9px}.tp-wire-key b{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:5px}.tp-sw{border-radius:2px;display:inline-block;height:10px;margin-right:6px;vertical-align:-1px;width:10px}.tp-sw.real{background:#6366f1;background:var(--accent)}.tp-sw.fill{background-color:#94a3b840;background-image:repeating-linear-gradient(45deg,#94a3b899 0 2px,#0000 2px 5px)}.tp-wire-eq{color:#0f172a;color:var(--text-primary);font-weight:620;margin-left:auto}@media (max-width:560px){.tp-wire-eq{margin-left:0;width:100%}}.tp-ladder{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(5,1fr);padding:2px 0 4px;position:relative}.tp-ladder-track{background:#e2e8f0;background:var(--card-border);border-radius:2px;height:3px;left:10%;position:absolute;right:10%;top:19px}.tp-ladder-fill{background:linear-gradient(90deg,#10b981,#3b82f6,#8b5cf6,#f59e0b);border-radius:2px;height:100%;transition:width .25s ease;transition:width var(--transition-normal)}.tp-rung{align-items:center;background:none;border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:4px 6px 8px;position:relative;transition:background .15s ease;transition:background var(--transition-fast)}.tp-rung:hover:not(:disabled){background:#f8fafc}.tp-rung:disabled{cursor:wait;opacity:.55}.tp-rung-dot{align-items:center;background:#fff;background:var(--card-bg);border:2px solid #e2e8f0;border:2px solid var(--card-border);border-radius:50%;color:#94a3b8;color:var(--text-muted);display:flex;height:34px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:34px}.tp-rung.is-passed .tp-rung-dot,.tp-rung:hover:not(:disabled) .tp-rung-dot{border-color:var(--c);color:var(--c)}.tp-rung.is-passed .tp-rung-dot{background:color-mix(in srgb,var(--c) 10%,#fff)}.tp-rung.is-on .tp-rung-dot{background:var(--c);border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,#0000);color:#fff}.tp-rung-label{color:#64748b;color:var(--text-secondary);font-size:12.5px;font-weight:650;line-height:1.2;text-align:center}.tp-rung.is-on .tp-rung-label{color:var(--c)}.tp-rung.is-near .tp-rung-dot{background:color-mix(in srgb,var(--c) 7%,#fff);border-color:var(--c);border-style:dashed;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 10%,#0000);color:var(--c)}.tp-rung-near,.tp-rung.is-near .tp-rung-label{color:var(--c)}.tp-rung-near{background:color-mix(in srgb,var(--c) 12%,#0000);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;margin-top:2px;padding:2px 8px;text-transform:uppercase}.tp-detail-running{color:#64748b;color:var(--text-secondary);font-size:13px;margin:8px 0 0}.tp-rung-short{color:#94a3b8;color:var(--text-muted);font-size:10.5px;line-height:1.35;text-align:center}@media (max-width:780px){.tp-ladder{gap:2px;grid-template-columns:1fr}.tp-ladder-track{display:none}.tp-rung{flex-direction:row;gap:11px;padding:9px 10px}.tp-rung,.tp-rung-label,.tp-rung-short{text-align:left}.tp-rung-short{flex:1 1}}.tp-detail-box{background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #e2e8f0;border:1px solid var(--card-border);border-left:3px solid var(--c,var(--card-border));border-radius:12px;border-radius:var(--radius-md);margin-top:14px;padding:13px 15px}.tp-detail-box p{color:#64748b;color:var(--text-secondary);font-size:12.5px;line-height:1.6;margin:0}.tp-detail-box strong{color:#0f172a;color:var(--text-primary)}.tp-detail-cost{align-items:center;color:#94a3b8!important;color:var(--text-muted)!important;display:flex;font-size:11.5px!important;gap:6px;margin-top:8px!important}.tp-detail-box--custom{border-left-color:#f59e0b;border-left-color:var(--warning)}.tp-detail-box--custom p{align-items:flex-start;display:flex;flex-wrap:wrap;gap:7px}.tp-detail-box--custom .tp-btn{margin-top:10px}.tp-coverage{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:14px 16px}.tp-coverage.is-gap{background:#fffbeb;border-color:#fde68a}.tp-coverage.is-on{background:#f0fdf6;border-color:#bbf7d0}.tp-coverage b{color:#0f172a;color:var(--text-primary);display:block;font-size:13px}.tp-coverage.is-gap b{color:#b45309}.tp-coverage.is-on b{color:#047857}.tp-coverage span{color:#64748b;color:var(--text-secondary);display:block;font-size:12px;line-height:1.5;margin-top:3px}.tp-coverage-acts{display:flex;flex-wrap:wrap;gap:8px}.tp-summary{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);margin-top:16px;padding:13px 15px}.tp-summary b{color:#94a3b8;color:var(--text-muted);display:block;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.tp-summary p{color:#64748b;color:var(--text-secondary);font-size:13px;line-height:1.6;margin:6px 0 0}.tp-summary strong{color:#0f172a;color:var(--text-primary)}.tp-summary--gap{background:#fffbeb;border-color:#fde68a}.tp-summary--gap strong{color:#b45309}.tp-summary--on{background:#f0fdf6;border-color:#bbf7d0}.tp-summary--on strong{color:#047857}.tp-measure{padding-top:4px}.tp-measure-label{color:#94a3b8;color:var(--text-muted);font-size:10.5px;font-weight:700;letter-spacing:.05em;margin:14px 0 9px;text-transform:uppercase}.tp-measure>.tp-measure-label:first-child{margin-top:4px}.tp-bars{display:flex;flex-direction:column;gap:8px}.tp-bar-row{grid-gap:11px;align-items:center;display:grid;font-size:12.5px;gap:11px;grid-template-columns:minmax(80px,1fr) 4fr auto}.tp-bar-name{color:#0f172a;color:var(--text-primary);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-bar-name.mono{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11.5px;font-weight:500}.tp-bar{background:#e9eef5;border-radius:4px;height:8px;overflow:hidden}.tp-bar-fill{border-radius:4px;display:block;height:100%;transition:width .25s ease;transition:width var(--transition-normal)}.tp-bar-val{font-feature-settings:"tnum";color:#64748b;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.tp-mechs{display:flex;flex-direction:column;gap:8px;padding-top:4px}.tp-mechs-intro{margin:0 0 4px}.tp-mech{background:#fcfdfe;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);padding:12px 14px;transition:all .15s ease;transition:all var(--transition-fast)}.tp-mech.is-on{background:#f7fefa;border-color:#bbf7d0}.tp-mech.is-blocked{opacity:.72}.tp-mech-top{align-items:flex-start;display:flex;gap:12px}.tp-mech-name{background:none;border:none;cursor:pointer;flex:1 1;min-width:0;padding:0;text-align:left}.tp-mech-name:disabled{cursor:default}.tp-mech-title{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;font-size:13px;font-weight:650;gap:6px}.tp-mech-title svg{transition:transform .15s ease;transition:transform var(--transition-fast)}.tp-mech-title svg,.tp-mech-what{color:#94a3b8;color:var(--text-muted)}.tp-mech-what{display:block;font-size:11.5px;line-height:1.5;margin-top:2px}.tp-mech-blocked{align-self:center;background:#fffbeb;border:1px solid #fde68a;border-radius:5px;color:#b45309;flex:none;font-size:10.5px;font-weight:620;padding:3px 8px;white-space:nowrap}.tp-mech-foot{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.tp-cost{background:#eef2f7;border-radius:5px;color:#64748b;color:var(--text-secondary);font-size:10.5px;font-weight:600;padding:2px 8px;white-space:nowrap}.tp-cost.warn{background:#fef3c7;color:#b45309}.tp-cost.bad{background:#fee4e2;color:#b42318}.tp-mech-live{color:#22c55e;color:var(--success);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11px;margin-left:auto;white-space:nowrap}.tp-mech-live.warn{color:#f59e0b;color:var(--warning)}.tp-mech-live.off{color:#94a3b8;color:var(--text-muted)}.tp-mech-body{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);display:flex;flex-direction:column;gap:9px;margin-top:12px;padding-top:12px}.tp-mech-acts{gap:8px;margin-top:10px}.tp-field,.tp-mech-acts{display:flex;flex-wrap:wrap}.tp-field{align-items:center;gap:10px}.tp-field-label{color:#64748b;color:var(--text-secondary);flex:0 0 165px;font-size:12px}.tp-field-label.mono{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.tp-field-label{flex-basis:100%}}.tp-unit{color:#94a3b8;color:var(--text-muted);font-size:11.5px}.tp-val{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11.5px;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.tp-eff{color:#22c55e;color:var(--success);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11.5px;font-weight:600}.tp-eff.warn{color:#f59e0b;color:var(--warning)}.tp-seg{background:#eef2f7;border-radius:12px;border-radius:var(--radius-md);display:inline-flex;gap:4px;padding:3px}.tp-seg-btn{background:#0000;border:none;border-radius:8px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:11.5px;font-weight:620;padding:6px 12px;transition:all .15s ease;transition:all var(--transition-fast)}.tp-seg-btn:hover:not(:disabled){color:#0f172a;color:var(--text-primary)}.tp-seg-btn.is-on{background:#fff;background:var(--card-bg);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);color:#4f46e5;color:var(--accent-dark)}.tp-seg-btn:disabled{cursor:not-allowed;opacity:.45}.tp-seg--tight .tp-seg-btn{padding:5px 9px}.tp-chips{display:flex;flex-wrap:wrap;gap:6px}.tp-chip{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:999px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:11.5px;padding:5px 12px;transition:all .15s ease;transition:all var(--transition-fast)}.tp-chip:hover:not(:disabled){border-color:#94a3b8;border-color:var(--text-muted)}.tp-chip.is-on{background:#f5f3ff;border-color:#8b5cf6;color:#7c3aed;font-weight:620}.tp-chip:disabled{cursor:not-allowed;opacity:.45}.tp-spark{padding:8px 0 2px}.tp-spark svg{display:block;height:40px;width:100%}.tp-spark-line{fill:none;stroke:#6366f1;stroke:var(--accent);stroke-width:1.4}.tp-spark-floor,.tp-spark-line{vector-effect:non-scaling-stroke}.tp-spark-floor{stroke:#94a3b8;stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.tp-spark-key{color:#94a3b8;color:var(--text-muted);display:flex;font-size:10.5px;gap:12px;justify-content:space-between;margin-top:4px}.aspath-panel{display:flex;flex-direction:column;gap:16px}.aspath-loading{color:#64748b;color:var(--text-secondary);font-size:14px;padding:32px}.aspath-dim{color:#94a3b8;color:var(--text-muted)}.aspath-bar{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:14px;padding:14px 16px}.aspath-run-btn{align-items:center;background:#6366f1;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:7px;padding:8px 16px;transition:background .15s ease;transition:background var(--transition-fast)}.aspath-run-btn:hover:not(:disabled){background:#4f46e5;background:var(--accent-dark)}.aspath-run-btn:disabled{cursor:not-allowed;opacity:.5}.aspath-spin{animation:aspath-rotate 1.1s linear infinite}@keyframes aspath-rotate{to{transform:rotate(1turn)}}.aspath-bar-meta{color:#64748b;color:var(--text-secondary);flex:1 1;font-size:12.5px;min-width:200px}.aspath-db{font-size:12px;gap:7px}.aspath-db,.aspath-db-btn{align-items:center;color:#64748b;color:var(--text-secondary);display:inline-flex}.aspath-db-btn{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:11.5px;gap:4px;padding:4px 9px}.aspath-db-btn:hover:not(:disabled){border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent)}.aspath-db-btn:disabled{cursor:not-allowed;opacity:.5}.aspath-error,.aspath-suppressed{align-items:flex-start;border-radius:12px;border-radius:var(--radius-md);display:flex;font-size:13px;gap:10px;line-height:1.5;padding:12px 14px}.aspath-suppressed{background:#f59e0b14;border:1px solid #f59e0b4d;color:#92400e}.aspath-error{background:#ef444412;border:1px solid #ef444447;color:#991b1b}.aspath-summary{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);overflow:hidden}.aspath-summary-head{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);color:#0f172a;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:13px;font-weight:600;gap:9px;padding:13px 16px}.aspath-summary-wrap{overflow-x:auto}.aspath-summary-table{border-collapse:collapse;font-size:12.5px;width:100%}.aspath-summary-table th{background:#94a3b80d;color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;padding:9px 16px;text-align:left;text-transform:uppercase}.aspath-summary-table td{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);padding:9px 16px}.aspath-summary-seen{color:#64748b;color:var(--text-secondary);font-size:12px}.aspath-group{gap:10px}.aspath-group,.aspath-group-title{display:flex;flex-direction:column}.aspath-group-title{color:#0f172a;color:var(--text-primary);font-size:13px;font-weight:700;gap:3px;margin:4px 0 0}.aspath-group-sub{color:#64748b;color:var(--text-secondary);font-size:12px;font-weight:400}.aspath-trace{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008;box-shadow:var(--shadow-xs);overflow:hidden}.aspath-trace-head{align-items:center;background:#0000;border:none;color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px;text-align:left;width:100%}.aspath-trace-head:hover{background:#6366f108}.aspath-trace-title{font-size:13px}.aspath-trace-meta{color:#94a3b8;color:var(--text-muted);font-size:11.5px;margin-left:auto}.aspath-dir{align-items:center;background:#6366f11a;border-radius:20px;color:#4f46e5;color:var(--accent-dark);display:inline-flex;font-size:10.5px;font-weight:700;gap:4px;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.aspath-dir--rev{background:#22d3ee21;color:#0e7490}.aspath-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:10.5px;font-weight:600;gap:4px;padding:2px 8px}.aspath-badge--ok{background:#22c55e1f;color:#15803d}.aspath-badge--warn{background:#f59e0b21;color:#92400e}.aspath-badge--muted{background:#94a3b826;color:#64748b;color:var(--text-secondary)}.aspath-trace-body{display:flex;flex-direction:column;gap:10px;padding:0 14px 14px}.aspath-chain{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.aspath-chain-arrow{color:#94a3b8;color:var(--text-muted);flex-shrink:0}.aspath-chain-empty{color:#94a3b8;color:var(--text-muted);font-size:12.5px}.aspath-seg{align-items:center;border-radius:8px;border-radius:var(--radius-sm);display:inline-flex;font-size:12px;gap:7px;padding:6px 11px}.aspath-seg--as{background:#6366f112;border:1px solid #6366f138}.aspath-seg--opaque{background:#0000;border:1px dashed #e2e8f0;border:1px dashed var(--card-border);color:#94a3b8;color:var(--text-muted);font-size:11.5px}.aspath-seg-asn{color:#4f46e5;color:var(--accent-dark);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-weight:700}.aspath-seg-name{color:#0f172a;color:var(--text-primary)}.aspath-seg--opaque .aspath-seg-name{color:#94a3b8;color:var(--text-muted)}.aspath-seg-cc,.aspath-seg-hops{color:#64748b;color:var(--text-secondary)}.aspath-seg-hops{background:#94a3b82e;border-radius:10px;font-size:10.5px;padding:1px 6px}.aspath-note{align-items:flex-start;color:#64748b;color:var(--text-secondary);display:flex;font-size:12px;gap:7px;line-height:1.5}.aspath-note--block{background:#94a3b812;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);padding:10px 13px}.aspath-note--err{color:#991b1b}.aspath-hops-caption{color:#94a3b8;color:var(--text-muted);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11px;padding-top:4px}.aspath-hops-wrap{border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);overflow-x:auto}.aspath-hops{border-collapse:collapse;font-size:12px;width:100%}.aspath-hops th{background:#94a3b80d;color:#94a3b8;color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:7px 11px;text-align:left;text-transform:uppercase}.aspath-hops td{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);padding:6px 11px}.aspath-hops code{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:11.5px}.aspath-hop--silent{background:rgba(148,163,184,.035)}.aspath-hop-ttl{color:#94a3b8;color:var(--text-muted)}.aspath-hop-rtt,.aspath-hop-ttl{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono)}.aspath-hop-probe{color:#64748b;color:var(--text-secondary);font-size:11px}.aspath-hop-as{font-size:11.5px}.aspath-divergent{background:#f59e0b21;border-radius:10px;color:#92400e;font-size:10.5px;margin-left:7px;padding:1px 6px}.aspath-empty{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:10px;padding:44px 28px;text-align:center}.aspath-empty h3{color:#0f172a;color:var(--text-primary);font-size:15px;margin:0}.aspath-empty p{color:#64748b;color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0;max-width:620px}.aspath-empty-cost{color:#94a3b8!important;color:var(--text-muted)!important;font-size:12px!important}@media (max-width:640px){.aspath-bar{align-items:stretch;flex-direction:column}.aspath-trace-meta{margin-left:0}}.fx-panel{display:flex;flex-direction:column;gap:14px}.fx-dim{color:#94a3b8;color:var(--text-muted);font-size:13px}.fx-err{border:1px solid #ef4444;border:1px solid var(--danger);border-radius:12px;border-radius:var(--radius-md);color:#ef4444;color:var(--danger);font-size:13px;padding:10px 14px}.fx-hero{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-left-width:4px;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:20px;padding:20px 22px}.fx-hero--good{border-left-color:#10b981}.fx-hero--warn{border-left-color:#f59e0b}.fx-hero--bad{border-left-color:#ef4444;border-left-color:var(--danger)}.fx-hero-figure{align-items:baseline;display:flex;flex:none;gap:7px}.fx-hero-num{color:#0f172a;color:var(--text-primary);font-size:52px;font-weight:660;line-height:1}.fx-hero-unit{color:#94a3b8;color:var(--text-muted);font-size:17px}.fx-hero-body{flex:1 1;min-width:0}.fx-hero-label{color:#94a3b8;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.fx-hero-verdict{color:#0f172a;color:var(--text-primary);font-size:15px;line-height:1.4;margin-top:3px}.fx-refresh{align-items:center;align-self:flex-start;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex:none;font-size:12px;gap:6px;padding:6px 11px}.fx-refresh:hover{border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent)}.fx-splitbar{border-radius:0 4px 4px 0;display:flex;gap:2px;height:22px;overflow:hidden;width:100%}.fx-splitbar--empty{background:#94a3b82e;border-radius:4px}.fx-seg{min-width:3px;transition:flex-grow .15s ease;transition:flex-grow var(--transition-fast,.15s)}.fx-seg:last-child{border-radius:0 4px 4px 0}.fx-rows{display:flex;flex-direction:column;gap:8px}.fx-row{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);padding:11px 14px}.fx-row.is-open{border-color:#6366f1;border-color:var(--accent)}.fx-row-head{align-items:center;background:none;border:0;color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;gap:9px;padding:0;text-align:left;width:100%}.fx-chev{color:#94a3b8;color:var(--text-muted);display:inline-flex}.fx-chip{border-radius:3px;flex:none;height:11px;width:11px}.fx-row-name{font-size:14px;font-weight:600}.fx-row-pct{font-feature-settings:"tnum";font-size:15px;font-variant-numeric:tabular-nums;font-weight:650;margin-left:auto}.fx-tag{align-items:center;background:#6366f11f;border-radius:999px;color:#6366f1;color:var(--accent);display:inline-flex;font-size:10px;font-weight:600;gap:3px;padding:1px 7px}.fx-tag--off{background:#94a3b829;color:#94a3b8;color:var(--text-muted)}.fx-row-sub{color:#64748b;color:var(--text-secondary);font-size:12px;margin-top:6px;padding-left:32px}.fx-status{color:#b45309;display:inline;margin-left:6px}.fx-status svg{margin-right:3px;vertical-align:-2px}.fx-flows{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);margin-top:11px;padding-top:11px}.fx-table-wrap{overflow-x:auto}.fx-table{border-collapse:collapse;font-size:12px;width:100%}.fx-table thead th{color:#94a3b8;color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:5px 10px 7px;text-align:left;text-transform:uppercase;white-space:nowrap}.fx-table tbody td{font-feature-settings:"tnum";border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);color:#64748b;color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:6px 10px;white-space:nowrap}.fx-table code{color:#0f172a;color:var(--text-primary);font-size:11.5px}.fx-frozen{align-items:center;background:#f59e0b24;border-radius:999px;color:#b45309;display:inline-flex;font-size:10px;gap:3px;margin-left:7px;padding:1px 6px}.fx-trunc{margin-top:9px}.fx-note{color:#94a3b8;color:var(--text-muted);font-size:12px;line-height:1.55;margin:0}@media (max-width:640px){.fx-hero{flex-wrap:wrap;gap:12px}.fx-hero-num{font-size:42px}.fx-row-sub{padding-left:0}}.wan-rename{align-items:center;display:inline-flex;gap:6px;min-width:0}.wan-rename-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wan-rename-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:inline-flex;flex:none;height:20px;justify-content:center;opacity:0;padding:0;transition:opacity .15s ease,background .15s ease;transition:opacity var(--transition-fast),background var(--transition-fast);width:20px}.wan-rename-btn:focus-visible,.wan-rename:hover .wan-rename-btn{opacity:1}.wan-rename-btn:hover:not(:disabled){background:#6366f11f;color:#6366f1;color:var(--accent)}.wan-rename-btn:disabled{cursor:default;opacity:.4}.wan-rename-input+.wan-rename-btn,.wan-rename-input~.wan-rename-btn{opacity:1}.wan-rename-input{background:#fff;background:var(--card-bg);border:1px solid #6366f1;border:1px solid var(--accent);border-radius:6px;color:#0f172a;color:var(--text-primary);font:inherit;font-weight:600;max-width:20ch;min-width:0;outline:none;padding:2px 6px;width:11ch}.wan-rename-input::placeholder{color:#94a3b8;color:var(--text-muted);font-weight:500}.diag-wan-col-header .wan-rename{flex:0 1 auto;min-width:0}.feat-na{align-items:flex-start;background:#f8fafc;background:var(--surface-2,#f8fafc);border:1px solid #e2e8f0;border-left:4px solid #6366f1;border:1px solid var(--border,#e2e8f0);border-left:4px solid var(--accent,#6366f1);border-radius:12px;border-radius:var(--radius-md,10px);color:#64748b;color:var(--text-secondary,#475569);display:flex;font-size:13.5px;gap:12px;line-height:1.55;padding:16px 18px}.feat-na-ico{color:#6366f1;color:var(--accent,#6366f1);flex-shrink:0;margin-top:1px}.feat-na-body strong{color:#0f172a;color:var(--text-primary,#0f172a);font-weight:650}.feat-na-hint{color:#94a3b8;color:var(--text-muted,#64748b);font-size:12.5px;margin-top:6px}.feat-na--compact{align-items:center;border-left-width:3px;font-size:12.5px;gap:8px;padding:9px 12px}.feat-na--compact svg{color:#6366f1;color:var(--accent,#6366f1);flex-shrink:0}.pwr-hero{align-items:flex-end;background:linear-gradient(135deg,#0f766e,#0891b2 55%,#4f46e5);border-radius:16px;box-shadow:0 12px 30px #0891b238;color:#fff;display:flex;flex-wrap:wrap;gap:28px;padding:26px 30px}.pwr-hero-main{flex:1 1 260px;min-width:0}.pwr-hero-label{font-size:.75rem;letter-spacing:.09em;opacity:.85;text-transform:uppercase}.pwr-hero-watts{font-size:3.2rem;font-weight:800;line-height:1;margin-top:6px}.pwr-hero-watts span{font-size:1.4rem;font-weight:600;margin-left:4px;opacity:.85}.pwr-hero-sub{font-size:.9rem;margin-top:8px;opacity:.9}.pwr-chip{align-items:center;background:#0f172a38;border:1px solid #ffffff47;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:650;gap:6px;letter-spacing:.04em;margin-top:12px;padding:5px 11px;text-transform:uppercase}.pwr-chip--measured{background:#10b98147;border-color:#a7f3d08c}.pwr-chip--estimated{background:#f59e0b47;border-color:#fde68a8c}.pwr-kpis{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.pwr-kpi{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;border-radius:var(--radius-md,10px);padding:16px 18px}.pwr-kpi-label{color:#94a3b8;color:var(--text-muted,#64748b);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pwr-kpi-value{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.65rem;font-weight:750;margin-top:6px}.pwr-kpi-note{color:#94a3b8;color:var(--text-muted,#64748b);font-size:12px;margin-top:4px}.pwr-toggle{background:#f1f5f9;background:var(--surface-2,#f1f5f9);border-radius:999px;display:flex;gap:6px;padding:4px}.pwr-toggle button{background:#0000;border:none;border-radius:999px;color:#64748b;color:var(--text-secondary,#475569);cursor:pointer;font-size:13px;font-weight:650;padding:7px 16px}.pwr-toggle button.on{background:#fff;background:var(--surface,#fff);box-shadow:0 1px 3px #00000014;color:#6366f1;color:var(--accent,#6366f1)}.pwr-table{border-collapse:collapse;font-size:13px;width:100%}.pwr-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);color:#94a3b8;color:var(--text-muted,#64748b);font-size:11px;letter-spacing:.05em;padding:8px 10px;text-align:left;text-transform:uppercase}.pwr-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-subtle,#f1f5f9);padding:9px 10px;vertical-align:top}.pwr-table code{color:#94a3b8;color:var(--text-muted,#64748b);font-size:11.5px;word-break:break-all}.pwr-tag{background:#f1f5f9;background:var(--surface-2,#f1f5f9);border-radius:999px;color:#64748b;color:var(--text-secondary,#475569);display:inline-block;font-size:11px;font-weight:650;padding:2px 8px}.pwr-tag--excluded{background:#fef3c7;color:#92400e}.pwr-tag--configured{background:#dbeafe;color:#1e40af}.pwr-mini{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.pwr-mini-w{color:#0f172a;color:var(--text-primary,#0f172a);font-size:1.9rem;font-weight:780}.pwr-mini-sub{color:#94a3b8;color:var(--text-muted,#64748b);font-size:12.5px}.pwr-split{margin-top:14px;max-width:460px}.pwr-split-bar{background:#ffffff3d;border-radius:999px;height:6px;overflow:hidden}.pwr-split-measured{background:#6ee7b7;display:block;height:100%}.pwr-split-text{font-size:.78rem;line-height:1.45;margin-top:7px;opacity:.92}.pwr-split-text strong{font-weight:700}.sidebar-filter{align-items:center;background:#94a3b81a;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:7px;margin:0 12px 8px;padding:6px 9px;transition:border-color .15s ease,background .15s ease;transition:border-color var(--transition-fast),background var(--transition-fast)}.sidebar-filter:focus-within{background:#94a3b829;border-color:#6366f1;border-color:var(--accent)}.sidebar-filter-icon{color:#94a3b8;color:var(--text-muted);flex:none}.sidebar-filter-input{background:#0000;border:0;color:#e2e8f0;flex:1 1 auto;font-size:.8rem;min-width:0;outline:none}.sidebar-filter-input::placeholder{color:#94a3b8;color:var(--text-muted)}.sidebar-filter-input::-webkit-search-cancel-button{filter:invert(1);opacity:.5}.sidebar-empty{color:#94a3b8;color:var(--text-muted);font-size:.76rem;line-height:1.5;margin:2px 14px 10px}.vfy-suites{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:14px}.vfy-suite{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;padding:13px 15px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.vfy-suite:hover{border-color:#818cf8;border-color:var(--accent-light);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.vfy-suite:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.vfy-suite.is-selected{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.vfy-suite.is-off{opacity:.72}.vfy-suite-title{color:#0f172a;color:var(--text-primary);font-size:.86rem;font-weight:700}.vfy-suite-claim{color:#64748b;color:var(--text-secondary);font-size:.76rem;line-height:1.45;margin-top:4px}.vfy-suite-foot{align-items:center;display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:9px}.vfy-suite-when{font-feature-settings:"tnum";font-size:.7rem;font-variant-numeric:tabular-nums}.vfy-suite-meta,.vfy-suite-when{color:#94a3b8;color:var(--text-muted)}.vfy-suite-meta{font-size:.68rem;margin-top:6px}.vfy-suite-why{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#92400e;display:-webkit-box;font-size:.72rem;margin-top:7px;overflow:hidden}.vfy-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:space-between}.vfy-head-text{flex:1 1 320px;min-width:0}.vfy-summary{color:#64748b;color:var(--text-secondary);font-size:.86rem;line-height:1.5;margin-top:3px;max-width:70ch}.vfy-head-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.vfy-chip{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;color:var(--text-secondary);display:inline-flex;font-size:.7rem;font-weight:600;padding:3px 9px;white-space:nowrap}.vfy-chip.is-low{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.vfy-chip.is-moderate{background:#fffbeb;border-color:#fde68a;color:#92400e}.vfy-chip.is-high{background:#fef2f2;border-color:#fecaca;color:#991b1b}.vfy-mores{display:flex;flex-direction:column;gap:6px;margin-top:12px}.vfy-more{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md)}.vfy-more>summary{align-items:center;color:#0f172a;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:8px;list-style:none;padding:8px 12px;-webkit-user-select:none;user-select:none}.vfy-more>summary::-webkit-details-marker{display:none}.vfy-more>summary:before{border-bottom:2px solid #94a3b8;border-bottom:2px solid var(--text-muted);border-right:2px solid #94a3b8;border-right:2px solid var(--text-muted);content:"";flex:none;height:6px;margin-right:2px;transform:rotate(-45deg);transition:transform .15s ease;transition:transform var(--transition-fast);width:6px}.vfy-more[open]>summary:before{transform:rotate(45deg)}.vfy-more>summary:hover{color:#4f46e5;color:var(--accent-dark)}.vfy-more>summary:focus-visible{border-radius:12px;border-radius:var(--radius-md);outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.vfy-more-count{background:#f1f5f9;border-radius:999px;color:#94a3b8;color:var(--text-muted);font-size:.66rem;font-weight:700;padding:1px 7px}.vfy-more-body{padding:2px 14px 13px 30px}.vfy-steps{color:#0f172a;color:var(--text-primary);font-size:.82rem;line-height:1.55;margin:2px 0 0;padding-left:18px}.vfy-steps li{margin-bottom:4px;padding-left:2px}.vfy-steps li::marker{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:700}.vfy-steps li:last-child{font-weight:600}.vfy-while{color:#64748b;color:var(--text-secondary);font-size:.76rem;line-height:1.5;margin-top:9px}.vfy-while b{color:#0f172a;color:var(--text-primary);font-weight:600}.vfy-params{display:flex;flex-wrap:wrap;gap:12px 16px;padding-top:4px}.vfy-badge{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:800;gap:5px;letter-spacing:.04em;padding:2px 10px}.vfy-badge svg{flex:none}.vfy-badge.is-pass{background:#f0fdf4;border-color:#22c55e;border-color:var(--success);color:#166534}.vfy-badge.is-fail{background:#fef2f2;border-color:#ef4444;border-color:var(--danger);color:#991b1b}.vfy-badge.is-inconclusive{background:#fffbeb;border-color:#f59e0b;border-color:var(--warning);color:#92400e}.vfy-result{background:#fcfcfd;border:1px solid #e2e8f0;border-left:3px solid #94a3b8;border:1px solid var(--card-border);border-left:3px solid var(--text-muted);border-radius:12px;border-radius:var(--radius-md);margin-top:14px;padding:15px 17px}.vfy-result.is-pass{border-left-color:#22c55e;border-left-color:var(--success)}.vfy-result.is-fail{border-left-color:#ef4444;border-left-color:var(--danger)}.vfy-result.is-inconclusive{border-left-color:#f59e0b;border-left-color:var(--warning)}.vfy-plain{color:#0f172a;color:var(--text-primary);font-size:.88rem;line-height:1.55;margin-bottom:10px;max-width:74ch}.vfy-verdict{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vfy-reason{color:#0f172a;color:var(--text-primary);font-size:.82rem;line-height:1.5;margin-top:7px}.vfy-ident{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-variant-numeric:tabular-nums;margin-top:5px}.vfy-kpis{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:13px 0}.vfy-dir{margin-top:13px}.vfy-dir-head{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.7rem;gap:8px;letter-spacing:.06em;margin-bottom:7px;text-transform:uppercase}.vfy-bar-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:minmax(84px,190px) 1fr auto;margin-bottom:6px}.vfy-bar-name{color:#64748b;color:var(--text-secondary);font-size:.76rem}.vfy-bar-track{background:#eef2f7;height:10px;overflow:hidden}.vfy-bar-fill,.vfy-bar-track{border-radius:0 4px 4px 0;display:block}.vfy-bar-fill{background:#6366f1;background:var(--accent);height:100%;transition:width .25s ease;transition:width var(--transition-normal)}.vfy-bar-fill--alone{background:#475569}.vfy-bar-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:600}.vfy-bar-best{font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.vfy-bar-best,.vfy-samples{color:#94a3b8;color:var(--text-muted)}.vfy-samples{font-size:.72rem;line-height:1.55;margin-top:5px}.vfy-words{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);margin-top:12px;padding-top:11px}.vfy-words-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.vfy-words-title{color:#64748b;color:var(--text-secondary);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vfy-words-src{color:#94a3b8;color:var(--text-muted);font-size:.69rem}.vfy-words-body{margin-top:4px}.vfy-limits,.vfy-words-body{color:#0f172a;color:var(--text-primary);font-size:.8rem;line-height:1.55}.vfy-limits{margin:4px 0 0;padding-left:17px}.vfy-limits li{margin-bottom:2px}.vfy-drift{color:#92400e;font-size:.76rem;margin-top:5px}.vfy-prov{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);color:#94a3b8;color:var(--text-muted);font-size:.7rem;line-height:1.5;margin-top:13px;padding-top:10px}.vfy-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.vfy-paste{background:#fff;border:1px solid #cbd5e1;border-radius:8px;border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.71rem;margin-top:9px;min-height:190px;padding:10px;resize:vertical;width:100%}.vfy-paste,.vfy-seal{color:#0f172a;color:var(--text-primary);line-height:1.5}.vfy-seal{font-size:.78rem;margin-top:7px;max-width:74ch}.vfy-seal.is-unsigned{color:#92400e}.vfy-signing{color:#64748b;color:var(--text-secondary);font-size:.74rem;line-height:1.5;margin-top:7px}.vfy-signing.is-warn{color:#92400e}.vfy-digest{display:block;font-size:.72rem;margin:3px 0 8px;word-break:break-all}.vfy-cmd,.vfy-digest{color:#0f172a;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.vfy-cmd{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);font-size:.7rem;line-height:1.6;margin:8px 0;overflow-x:auto;padding:8px 10px;white-space:pre}.vfy-hist-seal{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-variant-numeric:tabular-nums}.vfy-run{margin:13px 0}.vfy-run-head{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:600;gap:8px;margin-bottom:7px}.vfy-run-note{color:#94a3b8;color:var(--text-muted);font-weight:500}.vfy-run-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.vfy-run-fill{background:linear-gradient(90deg,#6366f1,#22d3ee);background:linear-gradient(90deg,var(--accent),var(--info));border-radius:999px;height:100%;transition:width .4s ease;transition:width var(--transition-slow)}.vfy-run-foot{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums;margin-top:5px}.vfy-hist{margin-top:15px}.vfy-hist-row{align-items:center;border-top:1px solid #f1f5f9;color:#64748b;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.75rem;gap:10px;padding:5px 0}.vfy-hist-when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:140px}.vfy-soak-hour{grid-gap:8px;display:grid;gap:8px;grid-template-columns:42px 1fr;margin-top:10px}.vfy-soak-hour-label{font-feature-settings:"tnum";color:#64748b;color:var(--text-secondary);font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:600;padding-top:4px}.vfy-soak-cells{display:flex;flex-wrap:wrap;gap:4px}.vfy-soak-cell{font-feature-settings:"tnum";align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:6px;color:#0f172a;color:var(--text-primary);cursor:pointer;display:inline-flex;flex-direction:column;font-size:.66rem;font-variant-numeric:tabular-nums;gap:1px;line-height:1.3;min-width:66px;padding:3px 6px;text-align:left}.vfy-soak-cell-time{color:#94a3b8;color:var(--text-muted)}.vfy-soak-cell-status{align-items:center;display:inline-flex;gap:3px}.vfy-soak-cell-status svg{flex:none}.vfy-soak-cell.is-pass{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.vfy-soak-cell.is-attributed{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.vfy-soak-cell.is-fail{background:#fef2f2;border-color:#ef4444;border-color:var(--danger);color:#991b1b;font-weight:700}.vfy-soak-cell.is-excluded{background:repeating-linear-gradient(135deg,#f1f5f9 0 4px,#dbe2ea 4px 8px);border-color:#cbd5e1;color:#334155}.vfy-soak-cell.is-excluded .vfy-soak-cell-time{color:#475569}.vfy-soak-cell.is-partial{background:#fff;border:1px dashed #475569;color:#334155}.vfy-soak-cell[aria-pressed=true]{box-shadow:0 0 0 2px #6366f1;box-shadow:0 0 0 2px var(--accent)}.vfy-soak-cell:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.vfy-soak-lane{color:#64748b;color:var(--text-secondary);font-size:.7rem;margin-top:4px}.vfy-soak-detail{border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);margin-top:12px;padding:9px 12px}.vfy-soak-class{align-items:center;display:inline-flex;gap:4px;white-space:nowrap}.vfy-soak-class.is-failing{color:#991b1b;font-weight:700}@media (max-width:640px){.vfy-bar-row{gap:4px 10px;grid-template-columns:1fr auto;margin-bottom:13px}.vfy-bar-track{grid-column:1/-1;order:2}.vfy-bar-value{order:1}}.fc-note{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);font-size:.85rem;margin:12px 0;padding:12px 14px}.fc-note.error{background:#ef44440f;border-color:#ef444459;color:#b91c1c}.fc-note code{color:#0f172a;color:var(--text-primary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.8rem}.fc-headline{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:16px 0 14px}.fc-stat{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2px;padding:12px 14px}.fc-stat-label{color:#94a3b8;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.fc-stat-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.fc-stat-sub{color:#64748b;color:var(--text-secondary);font-size:.75rem}.fc-stat.tone-bad{background:#ef44440a;border-color:#ef444459}.fc-stat.tone-bad .fc-stat-value{color:#dc2626}.fc-stat.tone-warn{background:#f59e0b0d;border-color:#f59e0b59}.fc-stat.tone-warn .fc-stat-value{color:#b45309}.fc-stat.tone-ok .fc-stat-value{color:#16a34a}.fc-tally{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.fc-tally-item{align-items:baseline;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:999px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;gap:8px;padding:7px 13px;transition:background .15s ease,border-color .15s ease;transition:background var(--transition-fast),border-color var(--transition-fast)}.fc-tally-item:hover{background:#f8fafc}.fc-tally-item.on{background:#6366f112;border-color:#6366f1;border-color:var(--accent);color:#0f172a;color:var(--text-primary)}.fc-tally-item:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.fc-tally-count{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700}.fc-tally-item.tone-bad .fc-tally-count{color:#dc2626}.fc-tally-item.tone-warn .fc-tally-count{color:#b45309}.fc-live{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);margin:4px 0 22px;padding:14px 16px}.fc-live-alert{align-items:center;color:#b45309;display:inline-flex;font-weight:600;gap:6px;margin-left:auto}.fc-live-alert svg{color:#b45309}.fc-live-empty{color:#94a3b8;color:var(--text-muted);font-size:.83rem;margin-top:10px}.fc-live-table{border-collapse:collapse;font-size:.82rem;margin-top:12px;width:100%}.fc-live-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);color:#94a3b8;color:var(--text-muted);font-size:.66rem;font-weight:600;letter-spacing:.05em;padding:4px 12px 6px 0;text-align:left;text-transform:uppercase}.fc-live-table td.num,.fc-live-table th.num{text-align:right}.fc-live-table td{font-feature-settings:"tnum";border-bottom:1px solid #f1f5f9;color:#0f172a;color:var(--text-primary);font-variant-numeric:tabular-nums;padding:6px 12px 6px 0}.fc-live-table td.mono{color:#64748b;color:var(--text-secondary);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.78rem}.fc-live-table tr.stalling td{background:#f59e0b0f}.fc-spark{display:block;height:18px;width:64px}.fc-spark.empty{background:repeating-linear-gradient(90deg,#e2e8f0 0 3px,#0000 3px 6px);height:2px;margin-top:8px}.fc-spark-out{stroke:#4f46e5;stroke-width:1.5}.fc-spark-back{stroke:#0891b2;stroke-width:1.5}.fc-list{display:flex;flex-direction:column;gap:8px}.fc-row{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);overflow:hidden}.fc-row:hover{box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm)}.fc-row.open{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md)}.fc-row-head{grid-gap:14px;align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:grid;font:inherit;gap:14px;grid-template-columns:auto 12.5rem 1fr auto auto;padding:13px 16px;text-align:left;width:100%}.fc-row-head:hover{background:#f8fafc}.fc-row-head:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:-2px}.fc-when{font-feature-settings:"tnum";color:#64748b;color:var(--text-secondary);font-size:.8rem;font-variant-numeric:tabular-nums}.fc-when em{color:#94a3b8;color:var(--text-muted);display:block;font-size:.73rem;font-style:normal}.fc-what{color:#0f172a;color:var(--text-primary);font-size:.88rem;min-width:0}.fc-what-device{color:#64748b;color:var(--text-secondary)}.fc-kind{display:block;font-size:.75rem;margin-top:2px}.fc-chev,.fc-kind{color:#94a3b8;color:var(--text-muted)}.fc-chev{display:flex}.fc-seg{border:1px solid #0000;border-radius:999px;font-size:.76rem;font-weight:600;padding:5px 11px;white-space:nowrap}.fc-seg em{font-style:normal;font-weight:500;opacity:.75}.fc-seg.tone-bad{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.fc-seg.tone-warn{background:#f59e0b1f;border-color:#f59e0b4d;color:#b45309}.fc-seg.tone-neutral{background:#f1f5f9;border-color:#e2e8f0;border-color:var(--card-border);color:#475569}.fp-strip{display:inline-flex;gap:3px}.fp-strip-cell{background:#e2e8f0;border-radius:2px;display:block;height:20px;width:7px}.fp-strip-cell.hit{background:#ef4444;box-shadow:0 0 0 2px #ef44442e}.fc-detail{background:#fcfdfe;border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);padding:6px 18px 20px}.fc-detail-loading{color:#64748b;color:var(--text-secondary);font-size:.85rem;padding:16px}.fc-summary{color:#0f172a;color:var(--text-primary);font-size:1rem;font-weight:650;margin:0 0 6px;max-width:74ch}.fc-because-box{margin:18px 0 0}.fc-because-box h4{color:#94a3b8;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.fc-because{color:#64748b;color:var(--text-secondary);font-size:.85rem;margin:0;padding-left:1.1rem}.fc-because li{margin-bottom:4px}.fc-missing{background:#f59e0b12;border:1px solid #f59e0b4d;border-radius:8px;border-radius:var(--radius-sm);color:#78350f;display:flex;font-size:.84rem;gap:10px;margin:16px 0 0;padding:12px 14px}.fc-missing strong{display:block;margin-bottom:2px}.fc-missing ul{margin:2px 0 0;padding-left:1.1rem}.fc-missing svg{color:#b45309;flex:none;margin-top:2px}.fc-raw{margin-top:16px}.fc-raw>summary{color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.78rem;padding:6px 0;-webkit-user-select:none;user-select:none}.fc-raw>summary:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.fc-facts{grid-gap:0 32px;display:grid;gap:0 32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:8px}.fc-fact{grid-gap:12px;border-bottom:1px solid #f1f5f9;display:grid;font-size:.82rem;gap:12px;grid-template-columns:11rem 1fr;padding:6px 0}.fc-fact-label{color:#94a3b8;color:var(--text-muted)}.fc-fact-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-variant-numeric:tabular-nums}.fc-fact-value.mono{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.77rem}.fc-copy{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);cursor:pointer;font:inherit;font-size:.8rem;font-weight:600;padding:8px 15px}.fc-copy:hover{background:#f8fafc}.fc-copy:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.fc-footnote{color:#94a3b8;color:var(--text-muted);font-size:.78rem;margin-top:20px;max-width:80ch}.fp-key{color:#64748b;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.74rem;gap:18px;margin-top:2px}.fp-key span{align-items:center;display:inline-flex;gap:7px}.fp-chip{border-radius:2px;display:inline-block;height:3px;width:16px}.fp-chip.ok{background:#22c55e}.fp-chip.unknown{background:repeating-linear-gradient(90deg,#cbd5e1 0 4px,#0000 4px 8px)}.fp-chip.broken{background:repeating-linear-gradient(90deg,#ef4444 0 2px,#0000 2px 6px)}.sc{margin:4px 0 6px}.sc-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:6px}.sc-title{color:#94a3b8;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sc-legend{color:#64748b;color:var(--text-secondary);display:flex;font-size:.75rem;gap:16px}.sc-legend span{align-items:center;display:inline-flex;gap:6px}.sc-key{border-radius:2px;display:inline-block;height:3px;width:14px}.sc-key.out{background:#4f46e5}.sc-key.back{background:#0891b2}.sc-svg{display:block;height:auto;width:100%}.sc-after{fill:#ef44440d}.sc-grid{stroke:#eef2f6;stroke-width:1}.sc-xtick,.sc-ytick{fill:#94a3b8;fill:var(--text-muted);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:10px}.sc-xtick.stall{fill:#b45309;font-weight:700}.sc-area-out{fill:#4f46e51a}.sc-area-back{fill:#0891b21a}.sc-line-out{stroke:#4f46e5;stroke-width:2;stroke-linejoin:round}.sc-line-back{stroke:#0891b2;stroke-width:2;stroke-linejoin:round}.sc-cut{stroke:#ef4444;stroke-width:1.5;stroke-dasharray:4 3}.sc-cut-dot{fill:#ef4444}.sc-hoverline{stroke:#94a3b8;stroke-width:1}.sc-dot-out{fill:#4f46e5}.sc-dot-back,.sc-dot-out{stroke:#fff;stroke-width:2}.sc-dot-back{fill:#0891b2}.sc-foot{color:#94a3b8;color:var(--text-muted);font-size:.72rem;margin:4px 0 0}@media (max-width:900px){.fc-row-head{gap:10px;grid-template-columns:auto 1fr auto}.fc-when{grid-column:2}.fc-what{grid-column:1/-1}.fc-chev{display:none}.fc-fact{gap:2px}.fc-fact,.fc-facts{grid-template-columns:1fr}.fc-live-table td:nth-child(4),.fc-live-table th:nth-child(4){display:none}}.dl{display:flex;flex-direction:column;gap:16px}.dl .panel{margin:0}.dl-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.dl-note{font-size:.82rem;margin:6px 0 10px}.dl-muted,.dl-note{color:var(--text-secondary)}.dl-muted{font-size:.8rem;white-space:nowrap}.dl-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#b91c1c;font-size:.85rem;padding:10px 14px}.dl-warn{border-left:4px solid #f59e0b}.dl-warn .panel-title{gap:8px}.dl-row,.dl-warn .panel-title{align-items:center;display:flex}.dl-row{border-top:1px solid var(--card-border);gap:10px;padding:10px 0}.dl-row-main{color:var(--text-primary);display:flex;flex:1 1;flex-direction:column;font-size:.86rem;gap:2px;min-width:0}.dl-row-main span{color:var(--text-secondary)}.dl-ok{color:#15803d!important}.dl-bad,.dl-ok{font-weight:600}.dl-bad{color:#b45309!important}.dl-measure summary{color:var(--text-secondary);cursor:pointer;font-size:.8rem}.dl-measure span{display:block;font-size:.8rem;margin-top:4px}.dl-form{border-top:1px solid var(--card-border);display:flex;flex-direction:column;gap:10px;padding:12px 0}.dl-fields{display:flex;flex-wrap:wrap;gap:12px}.dl-field{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;gap:8px}.dl-field.wide .dl-input{max-width:320px}.dl-unit{font-size:.78rem}.dl-actions{display:flex;gap:8px}.dl-lines{border:1px solid var(--card-border);border-radius:8px;margin:0;padding:8px 12px}.dl-lines legend{color:var(--text-secondary);font-size:.82rem;padding:0 4px}.dl-check{align-items:center;color:var(--text-primary);font-size:.85rem;padding:3px 0}.dl-add,.dl-check{display:flex;gap:8px}.dl-add{border-top:1px solid var(--card-border);flex-wrap:wrap;padding-top:12px}.dl-add .dl-input{flex:1 1;min-width:180px}.dl-input{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:13px;outline:none;padding:8px 10px}.dl-input[type=number]{width:110px}.dl-input.narrow{max-width:220px}.dl-input:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px #6366f11f}.dl-input:disabled{cursor:not-allowed;opacity:.55}.dl-btn{align-items:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;padding:8px 14px}.dl-btn:hover:not(:disabled){background:#f1f5f9}.dl-btn:disabled{cursor:not-allowed;opacity:.5}.dl-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.dl-btn.danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.dl-btn.icon{padding:8px 10px}.dl-drawer-headline{color:#e2e8f0;font-size:1rem;font-weight:700}.dl-drawer-note{color:#94a3b8;font-size:.8rem;margin:4px 0 10px}.dl-drawer-ok{color:#4ade80}.dl-drawer-bad,.dl-drawer-ok{font-size:.8rem;font-weight:600;margin:0 0 10px}.dl-drawer-bad{color:#fbbf24}.dl-drawer-controls,.dl-drawer-form{display:flex;flex-direction:column;gap:8px}.dl-drawer-form .dl-field{color:#94a3b8}.dl-btn.dark,.dl-input.dark{background:#1e293b;border-color:#334155;color:#e2e8f0}.dl-btn.dark:hover:not(:disabled){background:#273449}.dl-class{align-items:center;display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}.dl-class-name{color:var(--text-primary);font-size:.85rem;font-weight:600;min-width:120px}.al-stack{display:flex;flex-direction:column;gap:18px;margin-top:20px;min-width:0}.al-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-width:0;overflow:hidden;padding:0}.al-panel .al-loading{color:#64748b;font-size:.85rem;margin:0;padding:28px 26px;text-align:center}.al-signup{background:linear-gradient(180deg,#eef2ff,#fff 78%);border-color:#c7d2fe}.al-signup-head{align-items:flex-start;display:flex;gap:14px;padding:22px 26px 4px}.al-signup-icon{background:#4f46e5;border-radius:12px;box-shadow:0 6px 16px #4f46e547;color:#fff;display:grid;flex-shrink:0;height:42px;place-items:center;width:42px}.al-signup-icon svg{height:20px;width:20px}.al-signup-head h2{color:var(--text-primary);font-size:1.12rem;font-weight:700;letter-spacing:-.015em;margin:0}.al-signup-head p{color:#475569;font-size:.84rem;margin:4px 0 0;max-width:580px}.al-signup-form{display:flex;flex-wrap:wrap;gap:10px;padding:16px 26px 20px}.al-email{align-items:center;background:#fff;border:1px solid #c7d2fe;border-radius:10px;display:flex;flex:1 1 280px;gap:10px;min-height:46px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.al-email:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}.al-email svg{color:#6366f1;flex-shrink:0;height:17px;width:17px}.al-email input{background:#0000;border:0;color:#0f172a;flex:1 1;font:inherit;font-size:.92rem;min-width:0;outline:0;padding:12px 0}.al-select{background:#fff;border:1px solid #c7d2fe;border-radius:10px;color:#1e293b;font:inherit;font-size:.84rem;min-height:46px;padding:0 12px}.al-signup .al-btn.al-primary{border-radius:10px;font-size:.88rem;min-height:46px;padding:0 24px}.al-signup>.al-error,.al-signup>.al-note,.al-signup>.al-notice{margin:-6px 26px 18px}.al-head{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:14px;padding:20px 26px}.al-head svg{flex-shrink:0;height:22px;margin-top:2px;width:22px}.al-head h2{color:var(--text-primary);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin:0}.al-head p{color:#475569;font-size:.82rem;margin:5px 0 0}.al-head.al-good{background:#f0fdf4}.al-head.al-good svg{color:#059669}.al-head.al-bad{background:#fef2f2}.al-head.al-bad svg{color:#dc2626}.al-head.al-off{background:#f8fafc}.al-head.al-off svg{color:#64748b}.al-alerts{display:flex;flex-direction:column;gap:9px;list-style:none;margin:16px 26px;padding:0}.al-alert{background:#fff;border:1px solid #fecaca;border-left:3px solid #dc2626;border-radius:8px;padding:12px 14px}.al-alert strong{color:#1e293b;display:block;font-size:.86rem;overflow-wrap:anywhere}.al-alert p{color:#475569;font-size:.8rem;margin:4px 0 0}.al-recent .al-alert{border-color:#e2e8f0 #e2e8f0 #e2e8f0 #94a3b8}.al-more{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:0 26px 16px}.al-more:first-of-type{margin-top:16px}.al-more summary{color:#334155;cursor:pointer;font-size:.8rem;font-weight:650;padding:11px 14px}.al-more[open] summary{border-bottom:1px solid #e2e8f0}.al-more .al-alerts{margin:12px 14px}.al-sites{display:flex;flex-direction:column;list-style:none;margin:0;padding:4px 14px 12px}.al-site{border-bottom:1px solid #f1f5f9;padding:11px 0}.al-site:last-child{border-bottom:0}.al-site-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.al-site-head strong{color:#1e293b;font-size:.84rem;overflow-wrap:anywhere}.al-site-head span{color:#64748b;font-size:.72rem}.al-site p{font-size:.76rem;margin:3px 0 0}.al-site p,.al-site.al-unwatched strong{color:#64748b}.al-lines{display:flex;flex-direction:column;gap:5px;list-style:none;margin:8px 0 0;padding:0}.al-line{border:1px solid #e2e8f0;border-radius:7px;display:flex;font-size:.78rem;gap:12px;justify-content:space-between;padding:7px 11px}.al-line-name{color:#1e293b;font-weight:650;overflow-wrap:anywhere}.al-line-state{color:#64748b;text-align:right}.al-line.al-up{border-left:3px solid #059669}.al-line.al-down{border-left:3px solid #dc2626}.al-line.al-unknown{border-left:3px solid #94a3b8}.al-line.al-unknown .al-line-name{color:#64748b}.al-section-head{padding:20px 26px 6px}.al-section-head h2{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0}.al-section-head p{color:#475569;font-size:.8rem;margin:5px 0 0}.al-list{padding:16px 26px 18px}.al-list+.al-list{border-top:1px solid #f1f5f9}.al-list-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.al-list-head h3{color:#1e293b;font-size:.95rem;font-weight:700;margin:0}.al-list-head .al-help{margin:3px 0 0}.al-help{color:#64748b;font-size:.74rem}.al-members{display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0 0;padding:0}.al-members:empty{display:none}.al-member{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:10px 12px}.al-avatar{border-radius:50%;display:grid;flex-shrink:0;font-size:.82rem;font-weight:700;height:34px;place-items:center;width:34px}.al-avatar svg{height:15px;width:15px}.al-hue-0{background:#eef2ff;color:#4338ca}.al-hue-1{background:#ecfdf5;color:#047857}.al-hue-2{background:#fff7ed;color:#c2410c}.al-hue-3{background:#fdf2f8;color:#be185d}.al-hue-4{background:#ecfeff;color:#0e7490}.al-hue-hook{background:#f1f5f9;color:#475569}.al-member-text{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.al-member-name{color:#0f172a;font-size:.86rem;font-weight:600;overflow-wrap:anywhere}.al-member-note{color:#64748b;font-size:.74rem}.al-member-fail{color:#b91c1c;font-size:.74rem;overflow-wrap:anywhere}.al-remove{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;flex-shrink:0;font:inherit;font-size:.76rem;font-weight:600;gap:5px;padding:6px 10px}.al-remove:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#b91c1c}.al-remove:disabled{cursor:not-allowed;opacity:.5}.al-others{color:#64748b;font-size:.78rem;margin:10px 0 0}.al-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;font-size:.8rem;margin:12px 0 0;padding:12px 14px}.al-hook{margin-top:12px}.al-hook summary{color:#4f46e5;cursor:pointer;font-size:.78rem;font-weight:600}.al-hook-form{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}.al-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;flex:1 1 280px;font:inherit;font-size:.8rem;min-width:0;padding:8px 11px}.al-input:focus-visible{border-color:#6366f1;outline:2px solid #c7d2fe}.al-note{color:#92400e;font-size:.78rem;margin:12px 26px 0}.al-notice{color:#047857}.al-error,.al-notice{font-size:.8rem;margin:10px 0 0}.al-error{color:#b91c1c;overflow-wrap:anywhere}.al-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:600;gap:7px;justify-content:center;min-height:38px;padding:9px 14px;white-space:nowrap}.al-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.al-btn:disabled{cursor:not-allowed;opacity:.55}.al-btn.al-primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.al-btn.al-primary:hover:not(:disabled){background:#4338ca;border-color:#4338ca}.al-btn.al-small{min-height:32px;padding:6px 12px}.al-panel :is(button,input,select,summary):focus-visible{outline:2px solid #4f46e5;outline-offset:3px}.al-email input:focus-visible{outline:0}@media (max-width:640px){.al-head,.al-list,.al-section-head,.al-signup-form,.al-signup-head{padding-left:16px;padding-right:16px}.al-alerts,.al-more,.al-note,.al-signup>.al-error,.al-signup>.al-note,.al-signup>.al-notice{margin-left:16px;margin-right:16px}.al-signup .al-btn.al-primary{flex:1 1 100%}}.fp-wrap{margin:16px 0 4px;min-width:0}.fp-how{color:#64748b;font-size:.78rem;line-height:1.5;margin:0 0 14px}.fp{align-items:stretch;display:flex;padding:10px 10px 0 0}.fp-node{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;display:flex;flex:0 0 148px;flex-direction:column;gap:3px;min-width:0;padding:13px 14px 11px;position:relative}.fp-node strong{color:#1e293b;font-size:.84rem;font-weight:650}.fp-node small{color:#64748b;font-size:.7rem;overflow-wrap:anywhere}.fp-hop em,.fp-node em{color:#64748b;font-size:.72rem;font-style:normal;font-weight:650;margin-top:auto;min-height:1.2em;padding-top:6px}.fp-mark{background:#94a3b8;border:2px solid #fff;border-radius:50%;color:#fff;display:grid;font-size:11px;font-weight:700;height:22px;place-items:center;position:absolute;right:-10px;top:-10px;width:22px}.fp-hop{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:7px;justify-content:center;min-width:84px;padding:0 6px;text-align:center}.fp-hop small{color:#64748b;font-size:.7rem;min-height:1.2em}.fp-hop em{margin-top:0;padding-top:0}.fp-hop i{border-top:3px solid #94a3b8;display:block;position:relative;width:100%}.fp-hop b{background:#fff;border:2px solid;border-radius:50%;display:grid;font-size:11px;font-style:normal;font-weight:700;height:22px;left:50%;place-items:center;position:absolute;top:-13px;transform:translateX(-50%);width:22px}.fp .is-ok.fp-node{border-color:#86cfb5}.fp .is-ok .fp-mark{background:#059669}.fp .is-ok.fp-hop i{border-color:#059669}.fp .is-ok em{color:#047857}.fp .is-unknown.fp-node{background:#f8fafc;border-style:dashed}.fp .is-unknown.fp-node strong{color:#64748b}.fp .is-unknown.fp-hop i{border-color:#cbd5e1;border-top-style:dashed}.fp .is-broken.fp-node{background:#fff5f5;border-color:#dc2626;border-width:2px}.fp .is-broken .fp-mark{background:#dc2626}.fp .is-broken.fp-hop i{border-color:#dc2626;border-top-style:dashed}.fp .is-broken em,.fp .is-broken.fp-hop b{color:#b91c1c}.fp .is-broken em{font-size:.8rem;font-weight:700}.fp :is(.is-suspected,.is-unresolved).fp-node{background:#fffbeb;border-color:#d97706;border-style:dashed}.fp :is(.is-suspected,.is-unresolved) .fp-mark{background:#d97706}.fp :is(.is-suspected,.is-unresolved).fp-hop i{border-color:#d97706;border-top-style:dashed}.fp :is(.is-suspected,.is-unresolved) em,.fp :is(.is-suspected,.is-unresolved).fp-hop b{color:#92400e}.fp-wrap .fp-key{color:#475569;font-size:.72rem;gap:8px 18px;margin-top:14px}.fp-wrap .fp-chip.ok{background:#059669}.fp-wrap .fp-chip.broken{background:repeating-linear-gradient(90deg,#dc2626 0 5px,#0000 5px 8px)}.fp-wrap .fp-chip:is(.suspected,.unresolved){background:repeating-linear-gradient(90deg,#d97706 0 5px,#0000 5px 8px)}.fe-chart-scroll,.fe-sample-table-wrap{border-radius:10px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.fe-chart-scroll:focus-visible,.fe-sample-control input:focus-visible,.fe-sample-details summary:focus-visible,.fe-sample-table-wrap:focus-visible{outline:2px solid #4f46e5;outline-offset:3px}.fp-strip .fp-strip-cell.hit.is-suspected,.fp-strip .fp-strip-cell.hit.is-unresolved{background:#d97706;box-shadow:0 0 0 1px #fcd34d}.flow-evidence-chart{border-top:1px solid #e2e8f0;margin:22px 0;min-width:0;padding-top:18px}.flow-evidence-chart .sc-title{color:#334155;font-size:.78rem;letter-spacing:0;text-transform:none}.flow-evidence-chart .sc-svg{display:block;height:auto;min-width:560px;width:100%}.flow-evidence-chart .sc-head{gap:8px 16px}.flow-evidence-chart .sc-legend{flex-wrap:wrap;gap:8px 16px}.flow-evidence-chart .sc-line-back{stroke-dasharray:6 3}.flow-evidence-chart .sc-key.back{background:repeating-linear-gradient(90deg,#0891b2 0 5px,#0000 5px 8px)}.fe-chart-inspector{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;margin:5px 0 9px;padding:10px 12px}.fe-chart-reading{font-feature-settings:"tnum";align-items:center;color:#475569;display:flex;flex-wrap:wrap;font-size:.76rem;font-variant-numeric:tabular-nums;gap:7px 18px}.fe-chart-reading>span{align-items:center;display:inline-flex;gap:5px}.fe-chart-reading strong{color:#0f172a}.fe-sample-control{align-items:center;color:#64748b;display:flex;font-size:.72rem;gap:14px;margin-top:8px}.fe-sample-control>span{white-space:nowrap}.fe-sample-control b{color:#334155;font-weight:500}.fe-sample-control input{accent-color:#4f46e5;cursor:pointer;margin:0;min-height:28px;min-width:60px;width:100%}.flow-evidence-chart .sc-foot,.sc-empty{color:#64748b;font-size:.73rem;line-height:1.5}.fe-sample-warning{color:#92400e;font-size:.73rem;margin:5px 0}.fe-sample-details{font-size:.75rem;margin-top:10px}.fe-sample-details summary{color:#475569;cursor:pointer;display:list-item;padding:6px 0;width:fit-content}.fe-sample-table-wrap{border:1px solid #e2e8f0;margin-top:6px;max-height:250px}.fe-sample-table{font-feature-settings:"tnum";border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:500px;width:100%}.fe-sample-table caption{caption-side:top;color:#64748b;padding:9px 12px;text-align:left}.fe-sample-table td,.fe-sample-table th{border-top:1px solid #e2e8f0;padding:8px 12px;text-align:right;white-space:nowrap}.fe-sample-table th:first-child{text-align:left}.fe-sample-table thead{background:#f8fafc;color:#475569}.fe-sample-table tbody th{font-weight:400}.fe-sample-table tr[aria-current=true]{background:#eef2ff}@media (max-width:760px){.fp{flex-direction:column;padding:0 12px 0 0}.fp-hop,.fp-node{flex:none}.fp-hop{flex-direction:row;gap:12px;justify-content:flex-start;min-height:46px;padding:0 0 0 28px;text-align:left}.fp-hop i{border-left:3px solid #94a3b8;border-top:0;height:46px;order:-1;width:0}.fp .is-ok.fp-hop i{border-color:#059669}.fp :is(.is-unknown,.is-broken,.is-suspected,.is-unresolved).fp-hop i{border-left-style:dashed}.fp .is-unknown.fp-hop i{border-color:#cbd5e1}.fp .is-broken.fp-hop i{border-color:#dc2626}.fp :is(.is-suspected,.is-unresolved).fp-hop i{border-color:#d97706}.fp-hop b{left:-1px;top:50%;transform:translate(-50%,-50%)}}@media (max-width:600px){.fp-wrap .fp-key{font-size:.68rem;gap:8px 12px}.fe-sample-control{flex-wrap:wrap;gap:2px}.fe-chart-reading{gap:7px 12px}}.ct-timeline{background:#fff;border:1px solid #dce3ed;border-radius:12px;min-width:0;overflow:hidden}.ct-heading{gap:16px;justify-content:space-between;padding:17px 20px 15px}.ct-heading,.ct-heading>div{align-items:center;display:flex}.ct-heading>div{flex-wrap:wrap;gap:12px}.ct-eyebrow{color:#64748b;font-size:.66rem;font-weight:650;letter-spacing:.065em;text-transform:uppercase}.ct-heading strong{color:#334155;font-size:.8rem;font-weight:600}.ct-timezone{align-items:center;color:#64748b;display:inline-flex;font-size:.68rem;gap:5px;white-space:nowrap}.ct-mobile-navigation{display:none}.ct-scroll{border-block:1px solid #e2e8f0;max-height:408px;max-width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#cbd5e1 #f8fafc;scrollbar-width:thin}.ct-canvas{min-width:810px}.ct-axis,.ct-lane{display:grid;grid-template-columns:170px minmax(640px,1fr)}.ct-axis{border-bottom:1px solid #e2e8f0;min-height:56px;top:0;z-index:4}.ct-axis,.ct-device-heading{background:#f8fafc;position:sticky}.ct-device-heading{align-items:center;border-right:1px solid #e2e8f0;color:#64748b;display:flex;font-size:.69rem;font-weight:600;gap:7px;left:0;padding:0 18px;z-index:5}.ct-device-heading>span{background:#e9eef5;border-radius:4px;font-size:.63rem;padding:2px 5px}.ct-time-axis{font-feature-settings:"tnum";color:#64748b;font-size:.65rem;font-variant-numeric:tabular-nums;position:relative}.ct-time-axis>span{align-items:center;display:flex;flex-direction:column;gap:3px;height:100%;justify-content:center;position:absolute;transform:translateX(-50%);white-space:nowrap}.ct-time-axis small{color:#94a3b8;font-size:.6rem}.ct-lane+.ct-lane{border-top:1px solid #edf1f6}.ct-lane:nth-child(odd){background:#fcfdff}.ct-device{align-items:center;background:#fff;border-right:1px solid #e2e8f0;display:flex;left:0;min-width:0;padding:0 18px;position:sticky;z-index:3}.ct-device-info{display:flex;flex-direction:column;gap:3px;min-width:0}.ct-device-info>strong{margin-bottom:2px}.ct-lane:nth-child(odd) .ct-device{background:#fcfdff}.ct-device strong{color:#334155;display:block;font-size:.76rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-device-info>span{color:#64748b;font-size:.63rem;line-height:1.5;overflow-wrap:anywhere}.ct-track{height:64px;list-style:none;margin:0;min-width:0;padding:0;position:relative}.ct-grid{inset:0;pointer-events:none;position:absolute}.ct-grid>i{border-left:1px dashed #e7ecf3;bottom:0;position:absolute;top:0}.ct-grid>b{background:#e2e8f0;height:1px;left:4%;position:absolute;right:4%;top:50%}.ct-event-position{height:44px;position:absolute;top:10px;transform:translateX(-50%)}.ct-timeline .ct-event{align-items:center;background:#0000;border:0;border-radius:7px;color:inherit;cursor:pointer;display:inline-flex;font:inherit;height:44px;justify-content:center;margin:0;min-width:44px;padding:0}.ct-tone-located{--ct-color:#fff;--ct-fill:#dc2626;--ct-border:#b91c1c;--ct-halo:#fee2e2}.ct-tone-located .ct-marker{border-radius:50%}.ct-tone-located .ct-marker>span{border-radius:1px;height:8px;width:2px}.ct-tone-suspected{--ct-color:#b45309;--ct-fill:#fff4da;--ct-border:#e8b04f;--ct-halo:#fef3c7}.ct-tone-unknown{--ct-color:#64748b;--ct-fill:#f1f5f9;--ct-border:#94a3b8;--ct-halo:#e2e8f0}.ct-tone-resumed{--ct-color:#0f766e;--ct-fill:#e6f7f2;--ct-border:#5fb8a5;--ct-halo:#d3f0e6}.ct-tone-legacy{--ct-color:#64748b;--ct-fill:#fff;--ct-border:#94a3b8;--ct-halo:#e2e8f0}.ct-marker{align-items:center;background:var(--ct-fill);border:1.5px solid var(--ct-border);border-radius:5px;box-shadow:0 0 0 3px #ffffffbf;display:flex;height:17px;justify-content:center;transition:box-shadow .12s,transform .12s;width:17px}.ct-marker>span{background:var(--ct-color);border-radius:50%;height:5px;width:5px}.ct-tone-suspected .ct-marker{border-radius:4px;height:15px;transform:rotate(45deg);width:15px}.ct-tone-suspected .ct-marker>span{border-radius:1px;height:6px;transform:rotate(-45deg);width:2px}.ct-tone-legacy .ct-marker{border-radius:50%;border-style:dashed}.ct-tone-legacy .ct-marker>span{height:3px;width:3px}.ct-tone-resumed .ct-marker{border-radius:50%}.ct-tone-resumed .ct-marker>span{background:#0000;border:solid var(--ct-color);border-radius:0;border-width:0 2px;box-sizing:border-box;height:7px;width:6px}.ct-timeline .ct-event:hover{background:#eef2ff80}.ct-event:hover .ct-marker{box-shadow:0 0 0 5px var(--ct-halo)}.ct-timeline .ct-event.is-selected{background:#eef2ff}.ct-event.is-selected .ct-marker{box-shadow:0 0 0 3px #fff,0 0 0 5px #6366f1}.ct-scroll:focus-visible,.ct-timeline .ct-event:focus-visible{outline:2px solid #4f46e5;outline-offset:-2px}.ct-dot{align-items:center;border-radius:999px;display:inline-flex;gap:5px}.ct-group .ct-dot{background:var(--ct-halo);box-shadow:0 0 0 2px #ffffffbf;padding:3px 8px 3px 3px}.ct-group .ct-marker,.ct-group.is-selected .ct-marker,.ct-group:hover .ct-marker{box-shadow:none}.ct-timeline .ct-group.is-selected,.ct-timeline .ct-group:hover{background:#0000}.ct-group:hover .ct-dot{box-shadow:0 0 0 1.5px var(--ct-border)}.ct-group.is-selected .ct-dot{box-shadow:0 0 0 2px #fff,0 0 0 4px #6366f1}.ct-count,.ct-legend .ct-legend-count{font-feature-settings:"tnum";color:#334155;font-style:normal;font-variant-numeric:tabular-nums;font-weight:700}.ct-count{font-size:.68rem;line-height:1}.ct-footer{padding:14px 18px}.ct-legend{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.67rem;gap:8px 19px}.ct-legend>span{align-items:center;display:inline-flex;gap:7px}.ct-legend .ct-marker{box-shadow:none;height:14px;width:14px}.ct-legend .ct-tone-suspected .ct-marker{height:12px;width:12px}.ct-legend .ct-legend-count{background:#e2e8f0;border-radius:999px;font-size:.6rem;line-height:1.4;padding:1px 6px}.ct-footer>p{color:#64748b;font-size:.65rem;line-height:1.6;margin:9px 0 0}.ct-guide,.ct-selection{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;color:#64748b;display:flex;font-size:.73rem;gap:11px;min-height:54px;padding:14px 18px}.ct-guide>svg{color:#818cf8;flex-shrink:0}.ct-guide small{color:#64748b;font-size:.65rem;margin-left:auto}.ct-selection{background:#f5f6ff;border-color:#e0e7ff}.ct-selection.is-preview{background:#f8fafc;border-color:#e2e8f0}.ct-selection-mode{color:#6366f1;flex-shrink:0;font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ct-selection.is-preview .ct-selection-mode{color:#64748b}.ct-selection-dot{background:var(--ct-color);border-radius:50%;flex-shrink:0;height:9px;width:9px}.ct-selection>div{display:flex;flex-direction:column;gap:5px;min-width:0}.ct-selection strong{color:#334155;font-size:.77rem;font-weight:600;overflow-wrap:anywhere}.ct-selection strong>span{font-weight:400}.ct-selection>div>span{font-size:.67rem;line-height:1.5}.ct-selection-hint{color:#6366f1;font-size:.65rem;margin-left:auto;white-space:nowrap}.ct-members{align-items:center;background:#f5f6ff;color:#64748b;font-size:.67rem;gap:8px 12px;padding:0 18px 14px}.ct-members,.ct-members>ul{display:flex;flex-wrap:wrap}.ct-members>ul{gap:6px;list-style:none;margin:0;padding:0}.ct-timeline .ct-member{align-items:center;background:#fff;border:1px solid #dfe3f3;border-radius:999px;color:#475569;cursor:pointer;display:inline-flex;font:inherit;font-size:.68rem;gap:7px;min-height:32px;padding:3px 11px 3px 7px}.ct-member time{font-feature-settings:"tnum";color:#334155;font-variant-numeric:tabular-nums;font-weight:600}.ct-timeline .ct-member:hover{border-color:#a5b4fc}.ct-timeline .ct-member.is-selected{background:#eef2ff;border-color:#6366f1;box-shadow:inset 0 0 0 1px #6366f1}.ct-timeline .ct-member:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.ct-undated{background:#fbfcff;border-bottom:1px solid #e2e8f0;padding:14px 18px}.ct-undated>span{align-items:center;color:#64748b;display:flex;font-size:.68rem;gap:6px}.ct-undated>span>small{background:#e9eef5;border-radius:4px;padding:1px 4px}.ct-undated ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:10px 0 0;padding:0}.ct-timeline .ct-event-undated{background:#fff;border:1px solid #e2e8f0;gap:11px;height:auto;min-height:48px;padding:7px 11px}.ct-undated-label{color:#475569;display:flex;flex-direction:column;font-size:.74rem;gap:3px;max-width:190px;overflow-wrap:anywhere;text-align:left}.ct-undated-label small{color:#64748b;font-size:.65rem}.ct-empty{align-items:center;background:#fafbfe;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;display:flex;flex-direction:column;gap:10px;padding:38px 20px;text-align:center}.ct-empty>svg{color:#94a3b8;font-size:24px}.ct-empty>strong{color:#475569;font-size:.85rem;font-weight:600}.ct-empty>p{font-size:.76rem;margin:0}@media (max-width:700px){.ct-heading{padding:14px}.ct-heading>div{align-items:flex-start;flex-direction:column;gap:5px}.ct-mobile-navigation{align-items:center;color:#64748b;display:flex;font-size:.66rem;gap:10px;justify-content:space-between;padding:0 14px 10px}.ct-mobile-navigation>button{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#4338ca;cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:6px;min-height:36px;padding:5px 9px}.ct-mobile-navigation>button:hover{background:#eef2ff;border-color:#a5b4fc}.ct-mobile-navigation>button:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.ct-scroll{max-height:350px}.ct-axis,.ct-lane{grid-template-columns:135px minmax(640px,1fr)}.ct-canvas{min-width:775px}.ct-device,.ct-device-heading{padding-inline:12px}.ct-device strong{font-size:.72rem}.ct-device-info>span{font-size:.61rem}.ct-footer{padding:12px 14px}.ct-guide,.ct-selection{font-size:.7rem;padding:12px 14px}.ct-members{padding:0 14px 12px}.ct-guide small,.ct-selection-hint{display:none}.ct-legend{font-size:.63rem;gap:8px 13px}}@media (prefers-reduced-motion:reduce){.ct-marker{transition:none}}.fc-panel{min-width:0;overflow:hidden;padding:0}.fc-panel .fc-toolbar{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:12px 20px;justify-content:space-between;padding:14px 26px}.fc-panel h2{color:var(--text-primary);font-size:1.1rem;font-weight:700;letter-spacing:-.02em;margin:0}.fc-toolbar-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.fc-panel .fc-button,.fc-panel .fc-copy{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:600;gap:7px;justify-content:center;min-height:38px;padding:9px 12px}.fc-panel .fc-button:hover,.fc-panel .fc-copy:hover{background:#f1f5f9;border-color:#94a3b8}.fc-panel .fc-button:disabled{cursor:wait;opacity:.6}.fc-panel :is(button,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid #4f46e5;outline-offset:3px}.fc-statusbar{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.73rem;gap:8px 20px}.fc-monitor-state{align-items:center;color:#475569;display:inline-flex;font-weight:650;gap:7px}.fc-monitor-state i{background:#94a3b8;border-radius:50%;height:7px;width:7px}.fc-monitor-state.is-live{color:#047857}.fc-monitor-state.is-live i{background:#059669;box-shadow:0 0 0 3px #d1fae5}.fc-monitor-state.is-error{color:#b91c1c}.fc-monitor-state.is-error i{background:#dc2626}.fc-freshness{font-feature-settings:"tnum";align-items:center;display:inline-flex;font-variant-numeric:tabular-nums;gap:6px}.fc-panel>.fc-note{margin:18px 26px 0}.fc-panel .fc-note p{margin:6px 0}.fc-panel .fc-note summary{cursor:pointer;font-size:.78rem;margin-top:8px}.fc-panel .fc-note .fc-button{margin-left:12px}.fc-panel .fc-note textarea{border:1px solid #cbd5e1;border-radius:6px;color:#334155;font-family:var(--font-mono);font-size:.78rem;min-height:180px;padding:12px;width:100%}.fc-panel .fc-headline{gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 26px 28px}.fc-panel .fc-stat{border-radius:10px;box-shadow:0 1px 2px #0f172a04;gap:7px;min-width:0;padding:15px 17px}.fc-panel .fc-stat-label{color:#64748b;font-size:.65rem}.fc-panel .fc-stat-value{font-size:1.8rem;letter-spacing:-.04em;overflow-wrap:anywhere}.fc-panel .fc-stat-sub{font-size:.71rem}.fc-panel .fc-history{padding:0 26px 26px}.fc-section-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:17px}.fc-section-heading h3{align-items:center;color:#1e293b;display:flex;font-size:.94rem;font-weight:700;gap:8px;margin:0}.fc-section-heading h3>span{font-feature-settings:"tnum";background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:.68rem;font-variant-numeric:tabular-nums;padding:2px 6px}.fc-section-heading p{color:#64748b;font-size:.78rem;margin:5px 0 0}.fc-meta{color:#64748b;font-size:.7rem;white-space:nowrap}.fc-search{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#64748b;display:flex;gap:9px;margin-bottom:13px;max-width:520px;padding:0 12px}.fc-search:focus-within{border-color:#6366f1;outline:2px solid #c7d2fe}.fc-search input{background:#0000;border:0;color:#1e293b;font:inherit;font-size:.8rem;min-width:0;padding:11px 0;width:100%}.fc-panel .fc-search input:focus-visible{outline:0}.fc-search button{background:#0000;border:0;color:#64748b;cursor:pointer;display:grid;min-height:30px;min-width:30px;place-items:center}.fc-panel .fc-tally{gap:7px;margin-bottom:18px}.fc-panel .fc-tally-item{border-radius:7px;font-size:.72rem;gap:9px;padding:6px 10px}.fc-panel .fc-tally-count{background:#f1f5f9;border-radius:4px;font-size:.73rem;font-weight:650;padding:0 4px}.fc-panel .fc-tally-item.on{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}.fc-panel .fc-tally-item.on .fc-tally-count{background:#e0e7ff;color:#4338ca}.fc-results{align-items:center;color:#64748b;display:flex;font-size:.76rem;gap:12px;margin:-3px 0 12px}.fc-text-button{background:none;border:0;color:#4338ca;cursor:pointer;font:inherit;font-size:.75rem;font-weight:600;padding:4px 0;text-underline-offset:3px}.fc-text-button:hover{text-decoration:underline}.fc-panel .fc-list{gap:10px}.fc-panel .fc-row{border-radius:10px;box-shadow:0 1px 2px #0f172a03}.fc-panel .fc-row.open{border-color:#a5b4fc;box-shadow:0 3px 12px #312e8109}.fc-panel .fc-row-head{gap:18px;grid-template-columns:34px minmax(160px,1fr) minmax(120px,auto) 145px 16px;min-width:0;padding:16px 18px}.fc-panel .fc-what{font-size:.88rem}.fc-panel .fc-what strong{display:block;font-weight:650;margin-bottom:3px}.fc-panel .fc-kind{color:#64748b;font-size:.71rem;margin-top:4px}.fc-row-verdict{align-items:flex-start;display:flex;flex-direction:column;gap:5px}.fc-panel .fc-seg{border-radius:6px;font-size:.7rem;padding:4px 8px;white-space:normal}.fc-confidence{color:#64748b;font-size:.69rem;font-weight:500}.fc-row-verdict>.fc-confidence{padding-left:2px}.fc-panel .fc-when{font-size:.7rem;line-height:1.5}.fc-panel .fc-when em{color:#64748b;font-size:.69rem}.fc-panel .fc-detail{background:#fcfdff;padding:22px}.fc-eyebrow{color:#64748b;display:block;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.fc-panel .fc-copy{flex-shrink:0}.fc-panel .fc-summary{font-size:.87rem;font-weight:500;line-height:1.6;max-width:90ch}.fc-story{grid-gap:26px;display:grid;gap:26px;list-style:none;margin:0;padding:0}.fc-story>li{min-width:0}.fc-story h4{align-items:center;color:#1e293b;display:flex;font-size:.95rem;font-weight:700;gap:10px;margin:0 0 12px}.fc-story h4>span{background:#4f46e5;border-radius:50%;color:#fff;display:grid;flex:none;font-size:.74rem;font-weight:700;height:24px;place-items:center;width:24px}.fc-verdict{--tone:#64748b;--wash:#f8fafc;--edge:#e2e8f0;background:var(--wash);border:1px solid var(--edge);border-left:5px solid var(--tone);border-radius:10px;padding:17px 20px}.fc-verdict-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px}.fc-verdict-head strong{color:#0f172a;font-size:1.22rem;letter-spacing:-.02em}.fc-sure{background:var(--tone);border-radius:999px;color:#fff;font-size:.7rem;font-weight:650;padding:3px 10px;white-space:nowrap}.fc-verdict p{color:#334155;font-size:.88rem;line-height:1.6;margin:8px 0 0;max-width:78ch}.fc-verdict.tone-located{--tone:#4f46e5;--wash:#f5f6ff;--edge:#e0e7ff}.fc-verdict.tone-located.is-network{--tone:#dc2626;--wash:#fff7f7;--edge:#fecaca}.fc-verdict.tone-suspected{--tone:#d97706;--wash:#fffbeb;--edge:#fde68a}.fc-verdict.tone-resumed{--tone:#0f766e;--wash:#f0fdfa;--edge:#ccebe4}.fc-verdict.tone-legacy{border-left-style:dashed}.fc-trail{grid-gap:9px;display:grid;gap:9px;list-style:none;margin:0;padding:0}.fc-trail li{align-items:flex-start;display:flex;gap:11px}.fc-trail i{background:#e2e8f0;border-radius:50%;color:#64748b;display:grid;flex:none;font-size:11px;font-style:normal;font-weight:700;height:22px;margin-top:1px;place-items:center;width:22px}.fc-trail .is-good i{background:#d1fae5;color:#047857}.fc-trail .is-bad i{background:#fee2e2;color:#b91c1c}.fc-trail span{align-items:baseline;display:flex;flex-wrap:wrap;gap:2px 10px;min-width:0}.fc-trail strong{color:#1e293b;font-size:.87rem;font-weight:600}.fc-trail .is-none strong{color:#64748b;font-weight:500}.fc-trail small{font-feature-settings:"tnum";color:#64748b;font-size:.78rem;font-variant-numeric:tabular-nums}.fc-next{color:#334155;font-size:.88rem;line-height:1.6;margin:0 0 14px;max-width:78ch}.fc-copy-hint{color:#64748b;font-size:.74rem;margin-left:12px}.fc-panel .fc-raw{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:26px}.fc-panel .fc-raw>summary{align-items:center;color:#334155;display:flex;font-size:.84rem;font-weight:650;gap:10px;list-style:none;padding:14px 16px}.fc-panel .fc-raw>summary::-webkit-details-marker{display:none}.fc-panel .fc-raw>summary>svg{color:#6366f1;flex:none;transition:transform .16s}.fc-panel .fc-raw[open]>summary>svg{transform:rotate(90deg)}.fc-panel .fc-raw>summary em{color:#64748b;display:block;font-size:.75rem;font-style:normal;font-weight:400;margin-top:2px}.fc-panel .fc-raw>summary b{font-weight:inherit}.fc-panel .fc-raw:not([open]) .fc-when-open,.fc-panel .fc-raw[open] .fc-when-closed{display:none}.fc-panel .fc-raw[open]{padding-bottom:16px}.fc-panel .fc-raw[open]>summary{border-bottom:1px solid #e2e8f0;margin-bottom:16px}.fc-panel .fc-raw>:not(summary){margin-left:16px;margin-right:16px}.fc-tally-lead{align-self:center;color:#475569;font-size:.74rem;font-weight:600;margin-right:3px}.fc-panel .fc-seg.tone-located{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.fc-panel .fc-seg.tone-located.is-network{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.fc-panel .fc-seg.tone-suspected{background:#fef3c7;border-color:#fde68a;color:#92400e}.fc-panel .fc-seg.tone-resumed{background:#e6f7f2;border-color:#b7e4d8;color:#0f766e}.fc-panel .fc-seg:is(.tone-unknown,.tone-legacy){background:#f1f5f9;border-color:#e2e8f0;color:#475569}.fc-evidence-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.fc-panel .fc-because-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:15px}.fc-panel .fc-because-box:only-child{grid-column:1/-1}.fc-panel .fc-because-box h4{color:#475569;margin-bottom:9px}.fc-panel .fc-because-box p{color:#64748b;font-size:.8rem;margin:0}.fc-panel .fc-because,.fc-panel .fc-missing{font-size:.79rem;line-height:1.6}.fc-panel .fc-missing{border-radius:8px;margin:0;padding:15px}.fc-panel .fc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-panel .fc-fact{font-size:.76rem;grid-template-columns:minmax(90px,.65fr) minmax(0,1fr)}.fc-panel .fc-fact-value{overflow-wrap:anywhere}.fc-panel .fc-live{background:#f8fafc;border-radius:0;border-width:1px 0;margin:0;padding:22px 26px}.fc-panel .fc-live-alert{flex-shrink:0;font-size:.73rem;margin-left:0}.fc-table-scroll{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-width:100%;overflow-x:auto}.fc-panel .fc-live-table{margin:0;min-width:780px}.fc-panel .fc-live-table td,.fc-panel .fc-live-table th{padding:11px 13px;white-space:nowrap}.fc-panel .fc-live-table th{background:#f1f5f9;color:#64748b;font-size:.62rem}.fc-panel .fc-live-table td{font-size:.75rem}.fc-panel .fc-live-table td:nth-child(4),.fc-panel .fc-live-table th:nth-child(4){display:table-cell}.fc-panel .fc-live-table tr:last-child td{border-bottom:0}.fc-flow-state{border:1px solid #e2e8f0;border-radius:5px;color:#475569;font-size:.68rem;padding:3px 6px}.fc-flow-state.is-stalling{background:#fffbeb;border-color:#fcd34d;color:#92400e}.fc-panel .fc-spark-back{stroke-dasharray:3 2}.fc-table-footer{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.7rem;gap:10px 16px;margin-top:12px}.fc-spark-legend{align-items:center;display:inline-flex;gap:5px;margin-left:auto}.fc-spark-legend i{background:#4f46e5;height:2px;width:12px}.fc-spark-legend i:nth-child(2){background:repeating-linear-gradient(90deg,#0891b2 0 3px,#0000 3px 5px);margin-left:5px}.fc-panel .fc-live-empty{color:#64748b;font-size:.8rem}.fc-panel .fc-live-empty strong{color:#475569;font-weight:600}.fc-panel .fc-live-empty p{font-size:.75rem;margin:5px 0 0;max-width:78ch}.fc-empty{color:#64748b;padding:44px 24px;text-align:center}.fc-empty>svg{color:#94a3b8;font-size:25px;margin-bottom:10px}.fc-empty h3,.fc-empty h4{color:#334155;font-size:.95rem;margin:0 0 8px}.fc-empty p{font-size:.81rem;line-height:1.6;margin:0 auto;max-width:62ch}.fc-history-empty{background:#fafbfe;border:1px dashed #cbd5e1;border-radius:10px}.fc-panel .fc-footnote{font-size:.7rem;line-height:1.5;margin:0;max-width:none;padding:16px 26px}.fc-sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.fc-panel .fc-overview{border-bottom:1px solid #e2e8f0;gap:0;margin:18px 26px 28px;padding:0 0 19px}.fc-panel .fc-overview .fc-stat{background:#0000;border:0;border-radius:0;box-shadow:none;gap:5px;padding:0 20px}.fc-panel .fc-overview .fc-stat:first-child{padding-left:0}.fc-panel .fc-overview .fc-stat+.fc-stat{border-left:1px solid #e2e8f0}.fc-panel .fc-overview .fc-stat-value{font-size:1.4rem}.fc-panel .fc-overview .fc-stat-label{font-size:.62rem}.fc-explorer-heading .fc-eyebrow{color:#6366f1;margin-bottom:7px}.fc-view-switch{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9px;display:inline-flex;flex:none;gap:3px;padding:4px}.fc-view-switch button{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font:inherit;font-size:.74rem;font-weight:600;gap:7px;padding:8px 12px}.fc-view-switch button[aria-pressed=true]{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0f172a0a;color:#4338ca}.fc-explorer-tools{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:20px 0 14px}.fc-explorer-tools .fc-search{flex:1 1;margin:0;max-width:360px;min-width:220px}.fc-range-switch{display:flex;flex-shrink:0;gap:5px}.fc-range-switch button{background:none;border:1px solid #0000;border-radius:7px;color:#64748b;cursor:pointer;font:inherit;font-size:.74rem;font-weight:600;padding:9px 12px}.fc-range-switch button:hover{background:#f8fafc}.fc-range-switch button[aria-pressed=true]{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.fc-pause-switch{align-items:center;color:#475569;cursor:pointer;display:inline-flex;font-size:.74rem;font-weight:600;gap:7px}.fc-pause-switch input{accent-color:#4f46e5;cursor:pointer;height:15px;margin:0;width:15px}.fc-panel .fc-history .fc-tally{margin-bottom:16px}.fc-list-caption{color:#64748b;font-size:.71rem;margin:0 0 10px}.fc-assessment-note{color:#64748b;font-size:.72rem;line-height:1.6;margin:14px 0 0}.fc-assessment-note>summary{align-items:center;cursor:pointer;display:flex;gap:7px;list-style:none;width:fit-content}.fc-assessment-note>summary::-webkit-details-marker{display:none}.fc-assessment-note>summary:after{content:"+";font-size:1rem;margin-left:3px}.fc-assessment-note[open]>summary:after{content:"−"}.fc-assessment-note strong{font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.fc-assessment-note p{margin:7px 0 0 21px;max-width:95ch}.fc-investigation{animation:fc-reveal .16s ease-out;border:1px solid #a5b4fc;border-radius:12px;box-shadow:0 6px 20px #312e8108;margin-top:22px;overflow:hidden;scroll-margin:20px}.fc-investigation-nav{align-items:center;background:#f3f4ff;border-bottom:1px solid #e0e7ff;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:15px 20px}.fc-investigation-nav .fc-eyebrow{color:#6366f1}.fc-investigation-nav h4{color:#0f172a;font-size:1.08rem;letter-spacing:-.015em;margin:5px 0;overflow-wrap:anywhere}.fc-investigation-nav p{color:#475569;font-size:.8rem;margin:0}.fc-event-navigation{align-items:center;display:flex;flex-shrink:0;gap:5px}.fc-event-navigation button{align-items:center;background:#fff;border:1px solid #c7d2fe;border-radius:7px;color:#4338ca;cursor:pointer;display:inline-flex;font:inherit;font-size:.75rem;font-weight:600;gap:4px;height:34px;padding:0 11px}.fc-event-navigation button svg{font-size:15px}.fc-event-navigation button:hover{background:#e0e7ff}.fc-event-navigation button:disabled{cursor:default;opacity:.4}.fc-event-navigation button:last-child{margin-left:7px}.fc-investigation>.fc-note{padding:16px 20px}.fc-live-disclosure{background:#f8fafc;border-top:1px solid #e2e8f0}.fc-live-disclosure>summary{align-items:center;color:#475569;cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:14px;justify-content:space-between;list-style:none;padding:18px 26px}.fc-live-disclosure>summary::-webkit-details-marker{display:none}.fc-live-disclosure>summary>span{align-items:center;display:flex;flex-wrap:wrap;gap:9px}.fc-live-disclosure>summary>svg{transition:transform .16s}.fc-live-disclosure[open]>summary>svg{transform:rotate(180deg)}.fc-live-disclosure em{color:#64748b;font-size:.7rem;font-style:normal;font-weight:400;margin-left:7px}.fc-panel .fc-live-disclosure .fc-live{border:0;padding-top:5px}.fc-panel .fc-live>.fc-meta{line-height:1.6;white-space:normal}@keyframes fc-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes fc-spin{to{transform:rotate(1turn)}}.fc-spinning{animation:fc-spin 1.2s linear infinite}@media (prefers-reduced-motion:reduce){.fc-investigation,.fc-spinning{animation:none}.fc-live-disclosure>summary>svg,.fc-panel .fc-raw>summary>svg{transition:none}}@media (max-width:1100px){.fc-panel .fc-row-head{gap:12px;grid-template-columns:28px minmax(130px,1fr) minmax(100px,auto) 16px}.fc-panel .fc-when{display:flex;gap:8px;grid-column:2/4}.fc-panel .fc-chev{display:flex;grid-column:4;grid-row:1}.fc-panel .fc-what{grid-column:2}}@media (max-width:700px){.fc-panel .fc-toolbar{flex-wrap:wrap;gap:12px;padding:14px 16px}.fc-toolbar-actions{width:100%}.fc-toolbar-actions .fc-button:first-child{flex:1 1}.fc-statusbar{gap:8px 16px}.fc-panel .fc-headline{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 16px 24px}.fc-panel .fc-stat{padding:12px}.fc-panel .fc-stat-value{font-size:1.5rem}.fc-panel .fc-history{padding:0 16px 20px}.fc-panel .fc-live{padding:20px 16px}.fc-section-heading{flex-wrap:wrap;gap:8px}.fc-meta{font-size:.65rem}.fc-search input{font-size:.76rem}.fc-panel .fc-row-head{gap:9px;grid-template-columns:minmax(0,1fr) auto;padding:14px}.fc-panel .fc-row-head>.fp-strip{display:none}.fc-panel .fc-what{grid-column:1}.fc-panel .fc-row-verdict{align-items:center;flex-direction:row;flex-wrap:wrap;grid-column:1;grid-row:2}.fc-panel .fc-when{font-size:.68rem;grid-column:1/-1;grid-row:3}.fc-panel .fc-chev{grid-column:2}.fc-panel .fc-detail{padding:16px 12px}.fc-copy-hint{display:block;margin:8px 0 0}.fc-verdict{padding:14px}.fc-verdict-head strong{font-size:1.08rem}.fc-evidence-grid,.fc-panel .fc-facts{grid-template-columns:1fr}.fc-panel>.fc-note{margin:16px}.fc-panel .fc-note .fc-button{margin:10px 0 0}.fc-spark-legend{margin-left:0}.fc-panel .fc-footnote{padding:16px}.fc-panel .fc-overview{gap:16px 0;margin:16px 16px 22px;padding-bottom:17px}.fc-panel .fc-overview .fc-stat{padding:0 12px}.fc-panel .fc-overview .fc-stat:nth-child(odd){border-left:0;padding-left:0}.fc-panel .fc-overview .fc-stat-value{font-size:1.25rem}.fc-explorer-heading{align-items:flex-start}.fc-explorer-heading>div:first-child{width:100%}.fc-explorer-heading .fc-view-switch{margin-top:5px}.fc-explorer-tools{margin-top:14px}.fc-explorer-tools .fc-search{flex-basis:100%;max-width:none;min-width:0}.fc-range-switch{width:100%}.fc-range-switch button{flex:1 1}.fc-investigation-nav{padding:14px}.fc-live-disclosure>summary{padding:18px 16px}.fc-live-disclosure em{margin-left:0}}.tak-panel{min-width:0;overflow:hidden;padding:0}.tak-panel .tak-empty,.tak-panel .tak-loading{color:#64748b;font-size:.85rem;padding:40px 26px;text-align:center}.tak-panel .tak-empty svg{color:#94a3b8;height:30px;width:30px}.tak-panel .tak-empty h2{color:var(--text-primary);font-size:1rem;margin:12px 0 4px}.tak-panel .tak-empty p{font-size:.82rem;margin:0}.tak-head{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:14px;padding:20px 26px}.tak-head svg{flex-shrink:0;height:22px;margin-top:2px;width:22px}.tak-head h2{color:var(--text-primary);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin:0}.tak-head p{color:#475569;font-size:.82rem;margin:5px 0 0}.tak-head.tak-good{background:#f0fdf4}.tak-head.tak-good svg{color:#059669}.tak-head.tak-bad{background:#fef2f2}.tak-head.tak-bad svg{color:#dc2626}.tak-head.tak-off{background:#f8fafc}.tak-head.tak-off svg{color:#64748b}.tak-facts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;padding:18px 26px}.tak-facts div{min-width:0}.tak-facts dt{color:#64748b;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}.tak-facts dd{font-feature-settings:"tnum";color:#1e293b;font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:650;margin:4px 0 0;overflow-wrap:anywhere}.tak-note{color:#64748b;font-size:.78rem;margin:0 26px 14px}.tak-notice{color:#047857;font-size:.8rem;margin:0 26px 14px}.tak-error{color:#b91c1c;font-size:.8rem;margin:10px 0 0}.tak-circuits{display:flex;flex-direction:column;gap:7px;list-style:none;margin:0 26px 18px;padding:0}.tak-circuit{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;font-size:.82rem;gap:14px;justify-content:space-between;padding:10px 13px}.tak-circuit-name{color:#1e293b;font-weight:650;overflow-wrap:anywhere}.tak-circuit-state{font-feature-settings:"tnum";color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap}.tak-circuit.tak-carrying{border-left:3px solid #059669}.tak-circuit.tak-idle{border-left:3px solid #d97706}.tak-circuit.tak-down{border-left:3px solid #dc2626}.tak-circuit.tak-down .tak-circuit-name{color:#64748b}.tak-actions{display:flex;flex-wrap:wrap;gap:9px;padding:0 26px 20px}.tak-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:600;gap:7px;justify-content:center;min-height:38px;padding:9px 14px}.tak-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.tak-btn:disabled{cursor:not-allowed;opacity:.55}.tak-btn.tak-primary{align-self:flex-start;background:#4f46e5;border-color:#4f46e5;color:#fff}.tak-btn.tak-primary:hover:not(:disabled){background:#4338ca;border-color:#4338ca}.tak-panel :is(button,input,summary,[tabindex]):focus-visible{outline:2px solid #4f46e5;outline-offset:3px}.tak-form{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;padding:20px 26px 26px}.tak-toggle{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:.85rem;font-weight:650;gap:10px}.tak-toggle input{cursor:pointer;height:16px;width:16px}.tak-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.tak-field{display:flex;flex-direction:column;gap:5px;min-width:0}.tak-label{color:#334155;font-size:.72rem;font-weight:650}.tak-help{color:#64748b;font-size:.68rem}.tak-input{background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#1e293b;font:inherit;font-size:.82rem;min-width:0;padding:9px 11px}.tak-input:focus-visible{border-color:#6366f1;outline:2px solid #c7d2fe}.tak-withunit{align-items:center;display:flex;gap:8px;min-width:0}.tak-withunit .tak-input{flex:1 1;min-width:0}.tak-unit{color:#64748b;font-size:.75rem;white-space:nowrap}.tak-form .tak-note{margin:0}@media (max-width:640px){.tak-actions,.tak-facts,.tak-form,.tak-head{padding-left:16px;padding-right:16px}.tak-circuits,.tak-note,.tak-notice{margin-left:16px;margin-right:16px}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{bottom:0;color:#0000;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}
/*# sourceMappingURL=main.86d26035.css.map*/