body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}:root{--sidebar-w:220px;--brand-600:#4f46e5;--brand-500:#6366f1;--brand-400:#818cf8;--brand-300:#a5b4fc;--brand-100:#6366f11f;--brand-gradient:linear-gradient(135deg,#6366f1,#4f46e5 60%,#7c3aed);--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#6366f11f;--accent-text:#6366f1;--color-critical:#dc2626;--color-high:#ea580c;--color-medium:#d97706;--color-low:#16a34a;--color-info:#2563eb;--color-none:#64748b;--radius-full:9999px;--radius-card:14px;--radius-md:10px;--radius-sm:8px;--radius-xs:6px;--shadow-soft:0 1px 3px #0000000d,0 1px 6px #0000000a;--shadow-card:0 1px 2px #0000000f,0 2px 8px #0000000f;--shadow-elevated:0 4px 24px #0000001f,0 1px 4px #00000014;--shadow-glow:0 0 0 3px #6366f12e;--shadow-glow-danger:0 0 0 3px #dc26262e;--transition:0.16s cubic-bezier(.4,0,.2,1);--transition-slow:0.24s cubic-bezier(.4,0,.2,1);--transition-fast:0.08s ease;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace}[data-bs-theme=dark]{--accent:#818cf8;--accent-hover:#6366f1;--accent-light:#818cf824;--accent-text:#a5b4fc;--shadow-card:0 1px 3px #0000004d,0 2px 10px #00000040;--shadow-elevated:0 8px 32px #00000073;--shadow-glow:0 0 0 3px #818cf838}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-family:var(--font-sans)!important}.font-mono,code,kbd,pre{font-family:JetBrains Mono,SF Mono,Fira Code,monospace!important;font-family:var(--font-mono)!important}.App,.ce-sidebar{display:flex;min-height:100vh}.ce-sidebar{border-right:1px solid var(--bs-border-color);bottom:0;flex-direction:column;left:0;position:fixed;top:0;transition:transform .16s cubic-bezier(.4,0,.2,1);transition:transform var(--transition);width:220px;width:var(--sidebar-w);z-index:100}.ce-main,.ce-sidebar{background:var(--bs-body-bg)}.ce-main{flex:1 1;margin-left:220px;margin-left:var(--sidebar-w);min-width:0}.App-body{max-width:1600px;padding:1.75rem 2.5rem 4rem}.ce-sidebar-logo{align-items:center;border-bottom:1px solid var(--bs-border-color);color:var(--bs-body-color);display:flex;gap:.625rem;padding:1rem 1rem .875rem;position:relative;text-decoration:none}.ce-sidebar-logo:hover{color:var(--bs-body-color);opacity:.85}.ce-logo-text{font-size:.95rem;font-weight:800;letter-spacing:-.02em}.ce-logo-sub{color:var(--bs-secondary-color);font-size:.6rem;letter-spacing:.01em;margin-top:-1px}.ce-logo-badge{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:100px;color:#fff;flex-shrink:0;font-size:.55rem;font-weight:700;letter-spacing:.04em;margin-left:auto;padding:1px 6px;text-transform:uppercase}.ce-cmdpalette-hint{align-items:center;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:8px;border-radius:var(--radius-sm);color:var(--bs-secondary-color);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.795rem;gap:.5rem;margin:.5rem .75rem .25rem;padding:.375rem .625rem;transition:border-color .15s,background .15s,color .15s;width:calc(100% - 1.5rem)}.ce-cmdpalette-hint:hover{background:#f5f3ff;border-color:#6366f1;color:#4f46e5}[data-bs-theme=dark] .ce-cmdpalette-hint:hover{background:#6366f11f;color:#a5b4fc}.ce-cmdpalette-hint-icon{flex-shrink:0;font-size:.78rem}.ce-cmdpalette-hint-text{flex:1 1;text-align:left}.ce-cmdpalette-hint-kbd{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:4px;color:var(--bs-secondary-color);flex-shrink:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.58rem;padding:1px 5px}.ce-sidebar-nav{flex:1 1;overflow-y:auto;padding:.375rem 0 .5rem;scrollbar-color:var(--bs-border-color) #0000;scrollbar-width:thin}.ce-sidebar-nav::-webkit-scrollbar{width:3px}.ce-sidebar-nav::-webkit-scrollbar-thumb{background:var(--bs-border-color);border-radius:2px}.ce-nav-group--bordered{border-top:1px solid var(--bs-border-color-translucent);margin-top:.25rem;padding-top:.25rem}.ce-nav-group-header{align-items:center;background:none;border:none;color:var(--bs-secondary-color);cursor:pointer;display:flex;font-size:.6rem;font-weight:700;gap:.45rem;letter-spacing:.09em;margin-top:.4rem;padding:.35rem .75rem .3rem;text-transform:uppercase;transition:color .15s;width:100%}.ce-nav-group-header.has-active,.ce-nav-group-header:hover{color:var(--bs-body-color)}.ce-nav-group-icon-wrap{align-items:center;background:color-mix(in srgb,#6366f1 12%,#0000);background:color-mix(in srgb,var(--group-color,#6366f1) 12%,#0000);border-radius:5px;display:flex;flex-shrink:0;font-size:.7rem;height:18px;justify-content:center;transition:background .15s;width:18px}.ce-nav-group-header.has-active .ce-nav-group-icon-wrap,.ce-nav-group-header:hover .ce-nav-group-icon-wrap{background:color-mix(in srgb,#6366f1 20%,#0000);background:color-mix(in srgb,var(--group-color,#6366f1) 20%,#0000)}.ce-nav-group-label{flex:1 1;text-align:left}.ce-nav-group-active-dot{border-radius:50%;flex-shrink:0;height:5px;opacity:.8;width:5px}.ce-nav-group-chevron{color:var(--bs-secondary-color);flex-shrink:0;opacity:.6;transform:rotate(-90deg);transition:transform .2s ease}.ce-nav-group-chevron.open{transform:rotate(0deg)}.ce-nav-group-items{display:grid;grid-template-rows:1fr;overflow:hidden;transition:grid-template-rows .22s ease}.ce-nav-group-items.collapsed{grid-template-rows:0fr}.ce-nav-group-items-inner{min-height:0;padding:0 .5rem .125rem}.ce-nav-item{align-items:center;background:none;border:none;border-radius:6px;color:var(--bs-secondary-color);cursor:pointer;display:flex;font-size:.835rem;font-weight:450;gap:.5rem;margin-bottom:1px;overflow:hidden;padding:.38rem .625rem .38rem .75rem;position:relative;text-align:left;text-decoration:none;transition:background .13s,color .13s;width:100%}.ce-nav-item:before{background:#2563eb;background:var(--group-color,#2563eb);border-radius:0 3px 3px 0;content:"";height:0;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:height .18s ease;width:3px}.ce-nav-item:hover{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}.ce-nav-item.active{background:color-mix(in srgb,#2563eb 10%,var(--bs-body-bg));background:color-mix(in srgb,var(--group-color,#2563eb) 10%,var(--bs-body-bg));color:#2563eb;color:var(--group-color,#2563eb);font-weight:600}.ce-nav-item.active:before{height:60%}.ce-nav-icon{flex-shrink:0;font-size:.875rem;line-height:1;opacity:.85;text-align:center;width:1.1rem}.ce-nav-item.active .ce-nav-icon{opacity:1}.ce-nav-label{flex:1 1}.ce-nav-active-pip{display:none}.ce-sidebar-footer{border-top:1px solid var(--bs-border-color);display:flex;flex-direction:column;gap:.375rem;padding:.5rem .875rem .75rem}.ce-user-row{gap:.5rem;padding:.3rem .25rem}.ce-user-avatar,.ce-user-row{align-items:center;display:flex}.ce-user-avatar{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:700;height:28px;justify-content:center;width:28px}.ce-user-info{flex:1 1;min-width:0}.ce-user-email{color:var(--bs-body-color);font-size:.72rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-user-role{align-items:center;color:var(--bs-secondary-color);display:flex;font-size:.6rem;gap:4px;margin-top:1px;text-transform:capitalize}.ce-role-dot{border-radius:50%;flex-shrink:0;height:5px;width:5px}.ce-role-dot.ce-role-admin{background:#ef4444}.ce-role-dot.ce-role-analyst{background:#3b82f6}.ce-role-dot.ce-role-viewer{background:#94a3b8}.ce-user-actions{display:flex;gap:2px}.ce-user-action-btn{align-items:center;background:none;border:none;border-radius:5px;color:var(--bs-secondary-color);cursor:pointer;display:flex;font-size:.85rem;padding:4px 6px;text-decoration:none;transition:background .13s,color .13s}.ce-user-action-btn:hover{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}.ce-sidebar-controls{align-items:center;display:flex;justify-content:space-between}.ce-lang-controls{align-items:center;display:flex;gap:3px}.ce-lang-btn{background:none;border:1px solid var(--bs-border-color);border-radius:4px;color:var(--bs-secondary-color);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.62rem;font-weight:700;letter-spacing:.03em;padding:2px 7px;transition:background .13s,color .13s,border-color .13s}.ce-lang-btn.active{background:#6366f11f;background:var(--accent-light);border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent-text)}.ce-lang-btn:hover:not(.active){background:var(--bs-tertiary-bg);color:var(--bs-body-color)}.ce-theme-btn{background:none;border:1px solid var(--bs-border-color);border-radius:4px;cursor:pointer;font-size:.8rem;padding:2px 6px;transition:background .13s}.ce-theme-btn:hover{background:var(--bs-tertiary-bg)}.ce-strategy-links{display:flex;flex-wrap:wrap;gap:.625rem;padding:.1rem .125rem 0}.ce-strategy-link{color:var(--bs-secondary-color);font-size:.62rem;letter-spacing:.02em;opacity:.55;text-decoration:none;transition:opacity .15s,color .15s}.ce-strategy-link:hover{color:var(--bs-body-color);opacity:1}.ce-topbar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--bs-body-bg);border-bottom:1px solid var(--bs-border-color);gap:1rem;height:48px;justify-content:space-between;padding:0 1.5rem 0 1.25rem;position:sticky;top:0;z-index:50}.ce-topbar,.ce-topbar-left{align-items:center;display:flex}.ce-topbar-left{gap:.4rem}.ce-topbar-appname{color:var(--bs-secondary-color);font-size:.78rem;font-weight:700;letter-spacing:-.01em;opacity:.55}.ce-topbar-version{background:#6366f11f;background:var(--accent-light);border-radius:100px;color:#6366f1;color:var(--accent-text);font-size:.55rem;font-weight:700;letter-spacing:.04em;opacity:.7;padding:1px 5px;text-transform:uppercase}.ce-topbar-right{align-items:center;display:flex;gap:.5rem;margin-left:auto}.ce-topbar-divider{background:var(--bs-border-color);flex-shrink:0;height:18px;opacity:.6;width:1px}.ce-topbar-api{align-items:center;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color-translucent);border-radius:100px;display:flex;gap:.35rem;padding:.2rem .625rem}.ce-api-dot{background:#94a3b8;border-radius:50%;flex-shrink:0;height:6px;transition:background .3s;width:6px}.ce-api-dot.online{animation:api-pulse 2.5s ease-in-out infinite;background:#10b981;box-shadow:0 0 0 2px #10b98140}@keyframes api-pulse{0%,to{box-shadow:0 0 0 2px #10b98140}50%{box-shadow:0 0 0 4px #10b9811a}}.ce-topbar-api-label{color:var(--bs-secondary-color);font-size:.68rem;font-weight:600;white-space:nowrap}.ce-topbar-langs{align-items:center;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color-translucent);border-radius:6px;display:flex;overflow:hidden}.ce-topbar-lang{background:#0000;border:none;color:var(--bs-secondary-color);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.2rem .5rem;transition:background .13s,color .13s}.ce-topbar-lang:first-child{border-right:1px solid var(--bs-border-color-translucent)}.ce-topbar-lang.active{background:#6366f11f;background:var(--accent-light);color:#6366f1;color:var(--accent-text)}.ce-topbar-lang:hover:not(.active){background:var(--bs-body-bg);color:var(--bs-body-color)}.ce-topbar-icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:7px;color:var(--bs-secondary-color);cursor:pointer;display:flex;font-size:.875rem;height:30px;justify-content:center;transition:background .13s,color .13s,border-color .13s;width:30px}.ce-topbar-icon-btn:hover{background:var(--bs-tertiary-bg);border-color:var(--bs-border-color-translucent);color:var(--bs-body-color)}.ce-topbar-logout:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.ce-topbar-user{align-items:center;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color-translucent);border-radius:8px;cursor:default;display:flex;gap:.5rem;padding:.2rem .5rem}.ce-topbar-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:26px;justify-content:center;width:26px}.ce-topbar-user-info{display:flex;flex-direction:column;gap:1px;max-width:160px}.ce-topbar-user-email{color:var(--bs-body-color);font-size:.72rem;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-topbar-user-role{align-items:center;color:var(--bs-secondary-color);display:flex;font-size:.6rem;gap:4px;text-transform:capitalize}.ce-page-header{margin-bottom:0;padding:1.75rem 2.5rem 0}.ce-page-title{color:var(--bs-body-color);font-size:1.35rem;font-weight:750;letter-spacing:-.025em;line-height:1.25;margin:0}.ce-page-subtitle{color:var(--bs-secondary-color);font-size:.8125rem;line-height:1.5;margin-top:.25rem}.ce-dashboard-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.75rem}.ce-pill{align-items:center;border-radius:100px;display:inline-flex;font-size:.6rem;font-weight:700;gap:.25rem;letter-spacing:.025em;padding:.175rem .55rem;white-space:nowrap}.ce-pill-success{background:#10b9811f;color:#059669}.ce-pill-danger{background:#ef44441f;color:#dc2626}.ce-pill-warning{background:#f59e0b1f;color:#d97706}.ce-pill-info{background:#2563eb1f;color:#2563eb}.ce-pill-muted{background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}.ce-breadcrumb{align-items:center;display:flex;font-size:.8rem;gap:.375rem;margin-bottom:1.125rem}.ce-breadcrumb a{color:var(--bs-secondary-color);text-decoration:none;transition:color .13s}.ce-breadcrumb a:hover{color:var(--bs-body-color)}.ce-breadcrumb-sep{color:var(--bs-secondary-color);font-size:.7rem;opacity:.45}.ce-breadcrumb-current{color:var(--bs-body-color);font-weight:600}.ce-stats-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:1.75rem}.ce-stat-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:14px;border-radius:var(--radius-card);display:flex;flex-direction:column;gap:.25rem;overflow:hidden;padding:1rem 1rem .875rem;position:relative;transition:box-shadow .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.4,0,.2,1),border-color .16s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.ce-stat-card:after{background:var(--bs-border-color);background:var(--stat-color,var(--bs-border-color));border-radius:3px 0 0 3px;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.ce-stat-card:hover{border-color:color-mix(in srgb,var(--stat-color,var(--accent)) 30%,var(--bs-border-color));box-shadow:0 1px 2px #0000000f,0 2px 8px #0000000f;box-shadow:var(--shadow-card)}.ce-stat-icon{font-size:1rem;line-height:1;margin-bottom:.25rem}.ce-stat-value{color:var(--bs-body-color);color:var(--stat-color,var(--bs-body-color));font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1}.ce-stat-label{color:var(--bs-secondary-color);font-size:.7rem;font-weight:500;line-height:1.3;margin-top:.2rem}.ce-repo-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.ce-repo-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:14px;border-radius:var(--radius-card);cursor:pointer;overflow:hidden;padding:1.25rem;position:relative;transition:box-shadow .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.4,0,.2,1),border-color .16s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.ce-repo-card:before{border-radius:14px 14px 0 0;border-radius:var(--radius-card) var(--radius-card) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.ce-repo-card.risk-low:before{background:linear-gradient(90deg,#10b981,#34d399)}.ce-repo-card.risk-medium:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.ce-repo-card.risk-high:before{background:linear-gradient(90deg,#ef4444,#f87171)}.ce-repo-card.risk-unknown:before{background:var(--bs-border-color)}.ce-repo-card:hover{border-color:#6366f1;border-color:var(--accent);box-shadow:0 4px 24px #0000001f,0 1px 4px #00000014;box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.ce-card-signals{grid-gap:.2rem .75rem;border-top:1px solid var(--bs-border-color);display:grid;gap:.2rem .75rem;grid-template-columns:1fr 1fr;margin-top:.75rem;padding-top:.75rem}.ce-card-signal{align-items:center;display:flex;font-size:.7rem;font-weight:600;gap:.3rem;line-height:1.4;padding:.1rem 0;white-space:nowrap}.ce-card-signal,.ce-card-signal span:last-child{overflow:hidden;text-overflow:ellipsis}.ce-scan-pills{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.ce-scan-pill{border-radius:100px;font-size:.6rem;font-weight:600;letter-spacing:.02em;padding:.125rem .4rem;white-space:nowrap}.ce-scan-pill--ok{background:#10b9811a;color:#10b981}.ce-scan-pill--warn{background:#f59e0b1a;color:#f59e0b}.ce-scan-pill--err{background:#ef444414;color:#ef4444}.ce-scan-pill--info{background:#2563eb1a;color:#2563eb}.ce-scan-pill--muted{background:#64748b1a;color:#64748b}.ce-repo-name{font-size:.9375rem;font-weight:700;letter-spacing:-.01em}.ce-repo-meta{color:var(--bs-secondary-color);font-size:.75rem;margin-top:.2rem}.ce-risk-badge{border-radius:100px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;padding:.2rem .6rem;text-transform:uppercase}.ce-risk-badge.low{background:#10b98126;color:#10b981}.ce-risk-badge.medium{background:#f59e0b26;color:#f59e0b}.ce-risk-badge.high{background:#ef444426;color:#ef4444}.ce-risk-badge.unknown{background:var(--bs-tertiary-bg);color:var(--bs-secondary-color)}.ce-repo-stats{border-top:1px solid var(--bs-border-color);display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.875rem;padding-top:.875rem}.ce-repo-stat{min-width:40px;text-align:center}.ce-repo-stat-value{font-size:.975rem;font-weight:700;line-height:1.1}.ce-repo-stat-label{color:var(--bs-secondary-color);font-size:.65rem;line-height:1.2;margin-top:.15rem}.ce-risk-bar{background:var(--bs-tertiary-bg);border-radius:2px;height:4px;margin-top:.75rem;overflow:hidden}.ce-risk-bar-fill{border-radius:2px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.ce-main-tabs-bar{-webkit-overflow-scrolling:touch;align-items:stretch;background:var(--bs-body-bg);border-bottom:2px solid var(--bs-border-color);display:flex;gap:0;overflow-x:auto;padding:0 1.25rem;scrollbar-width:none}.ce-main-tabs-bar::-webkit-scrollbar{display:none}.ce-main-tab-btn{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:var(--bs-secondary-color);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.45rem;letter-spacing:.01em;margin-bottom:-2px;padding:.875rem 1.125rem .75rem;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.ce-main-tab-btn:hover{border-bottom-color:var(--bs-border-color);color:var(--bs-body-color)}.ce-main-tab-btn.active{border-bottom-color:#2563eb;color:#2563eb;font-weight:650}.ce-main-tab-icon{font-size:1rem;line-height:1}.ce-sub-tabs-bar{-webkit-overflow-scrolling:touch;align-items:center;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);display:flex;gap:.375rem;overflow-x:auto;padding:.5rem 1.25rem;scrollbar-width:none}.ce-sub-tabs-bar::-webkit-scrollbar{display:none}.ce-sub-tab-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:999px;color:var(--bs-secondary-color);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.3rem;padding:.28rem .8rem;transition:all .13s ease;white-space:nowrap}.ce-sub-tab-btn:hover{background:var(--bs-body-bg);border-color:var(--bs-border-color-translucent);color:var(--bs-body-color)}.ce-sub-tab-btn.active{background:#eff6ff;border-color:#2563eb38;color:#2563eb;font-weight:600}.ce-tabs-wrapper{-webkit-overflow-scrolling:touch;background:var(--bs-body-bg);border-bottom:1px solid var(--bs-border-color);overflow-x:auto;overflow-y:hidden;padding:.875rem 1.25rem .75rem;scrollbar-width:none}.ce-tabs-wrapper::-webkit-scrollbar{display:none}.ce-tab-groups{display:flex;gap:.875rem;min-width:max-content}.ce-tab-group{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color-translucent);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000d,0 1px 6px #0000000a;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.ce-tab-group-label{color:var(--bs-secondary-color);font-size:.6875rem;font-weight:700;letter-spacing:.08em;padding:0 .25rem;text-transform:uppercase}.ce-tabs{display:flex;flex-wrap:wrap;gap:.25rem;min-width:max-content;white-space:nowrap}.ce-tab-btn{align-items:center;background:#ffffff8c;border:1px solid #0000;border-radius:999px;color:var(--bs-secondary-color);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .75rem;transition:color .16s cubic-bezier(.4,0,.2,1),border-color .16s cubic-bezier(.4,0,.2,1),background .16s cubic-bezier(.4,0,.2,1);transition:color var(--transition),border-color var(--transition),background var(--transition);white-space:nowrap}.ce-tab-btn:hover{background:#ffffffeb;border-color:var(--bs-border-color-translucent);color:var(--bs-body-color)}.ce-tab-btn.active{background:#6366f11f;background:var(--accent-light);border-color:#2563eb2e;color:#6366f1;color:var(--accent-text);font-weight:600}.ce-tab-count{background:var(--bs-tertiary-bg);border-radius:100px;color:var(--bs-secondary-color);font-size:.6875rem;font-weight:600;min-width:18px;padding:.1rem .4rem;text-align:center}.ce-tab-btn.active .ce-tab-count{background:#6366f11f;background:var(--accent-light);color:#6366f1;color:var(--accent-text)}.ce-sbom-bar{align-items:center;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);display:flex;font-size:.8125rem;gap:.875rem;padding:.625rem 1.25rem}.card-hover{cursor:pointer;transition:transform .16s cubic-bezier(.4,0,.2,1),box-shadow .16s cubic-bezier(.4,0,.2,1);transition:transform var(--transition),box-shadow var(--transition)}.card-hover:hover{box-shadow:0 4px 24px #0000001f,0 1px 4px #00000014!important;box-shadow:var(--shadow-elevated)!important;transform:translateY(-3px)}.tab-content{text-align:left;width:100%}.section-title{align-items:center;color:var(--bs-secondary-color);display:flex;font-size:.6875rem;font-weight:700;gap:.5rem;letter-spacing:.09em;margin-bottom:.875rem;text-transform:uppercase}.section-title:before{background:#6366f1;background:var(--accent);border-radius:2px;content:"";display:inline-block;flex-shrink:0;height:.85em;opacity:.65;width:3px}:root{--color-primary:#6366f1;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#f59e0b;--color-info:#0ea5e9;--color-secondary:#64748b;--color-dark:#1e293b}[data-bs-theme=dark]{--color-primary:#818cf8;--color-success:#34d399;--color-danger:#f87171;--color-warning:#fbbf24;--color-info:#38bdf8;--color-secondary:#94a3b8;--color-dark:#cbd5e1}.ce-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.ce-toolbar .form-control,.ce-toolbar .form-select{max-width:220px}.ce-toolbar-spacer{flex:1 1}.ce-table-wrap{border:1px solid var(--bs-border-color);border-radius:10px;border-radius:var(--radius-md);margin-bottom:1.25rem}.ce-table-wrap .table{font-size:.8125rem;margin-bottom:0}.ce-table-wrap .table thead th{background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:.625rem .875rem;text-transform:uppercase;white-space:nowrap}.ce-table-wrap .table tbody td{border-bottom:1px solid var(--bs-border-color-translucent);padding:.6rem .875rem;vertical-align:middle}.ce-table-wrap .table tbody tr:last-child td{border-bottom:none}.ce-table-wrap .table tbody tr:hover td{background:#6366f11f;background:var(--accent-light)}.ce-card{border:1px solid var(--bs-border-color);box-shadow:0 1px 3px #0000000d,0 1px 6px #0000000a;box-shadow:var(--shadow-soft);margin-bottom:1.25rem;padding:1.25rem 1.375rem}.ce-card-header{color:var(--bs-secondary-color);font-size:.7rem;font-weight:700;gap:.5rem;letter-spacing:.08em;margin-bottom:1rem;padding-bottom:.75rem;text-transform:uppercase}.ce-pagination{align-items:center;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.75rem;justify-content:space-between;margin-top:1rem}.ce-pagination-info{color:var(--bs-secondary-color);white-space:nowrap}.ce-pagination-controls{align-items:center;display:flex;gap:.375rem}.ce-pagination-controls .page-btn{align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:8px;border-radius:var(--radius-sm);color:var(--bs-body-color);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;height:30px;justify-content:center;min-width:30px;padding:0 .5rem;transition:background .16s cubic-bezier(.4,0,.2,1),border-color .16s cubic-bezier(.4,0,.2,1);transition:background var(--transition),border-color var(--transition)}.ce-pagination-controls .page-btn:hover:not(:disabled){background:#6366f11f;background:var(--accent-light);border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent-text)}.ce-pagination-controls .page-btn.active{background:#6366f1;background:var(--accent);border-color:#6366f1;border-color:var(--accent);color:#fff;font-weight:700}.ce-pagination-controls .page-btn:disabled{cursor:not-allowed;opacity:.38}.ce-page-size-select{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:8px;border-radius:var(--radius-sm);color:var(--bs-body-color);font-size:.8rem;height:30px;padding:0 .5rem}.empty-state{color:var(--bs-secondary-color);padding:4rem 1rem;text-align:center}.empty-state .empty-icon{display:block;font-size:2.5rem;margin-bottom:.75rem}.repo-name-badge{background:var(--bs-secondary-bg);border:1px solid var(--bs-border-color);border-radius:6px;border-radius:var(--radius-xs);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.875rem;padding:.25rem .625rem}.rd-hero{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:14px;border-radius:var(--radius-card);box-shadow:0 1px 2px #0000000f,0 2px 8px #0000000f;box-shadow:var(--shadow-card);overflow:hidden}.rd-hero:before{background:linear-gradient(90deg,#6366f1,#a855f7 50%,#3b82f6);content:"";display:block;height:4px}.rd-hero-body{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding:1rem 1.25rem}.rd-identity{display:flex;flex-direction:column;gap:.5rem;min-width:0}.rd-repo-name{flex-wrap:wrap;gap:.625rem}.rd-repo-icon,.rd-repo-name{align-items:center;display:flex}.rd-repo-icon{color:#6366f1;color:var(--accent);flex-shrink:0}.rd-repo-title{color:var(--bs-body-color);font-size:1.25rem;font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:0}.rd-status-pill--ok{background:#10b9811f;border:1px solid #10b98140;border-radius:100px;color:#10b981;gap:.2rem}.rd-status-pill--missing,.rd-status-pill--ok{align-items:center;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.01em;padding:.2rem .6rem}.rd-status-pill--missing{background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:100px;color:#d97706}.rd-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.rd-badge{border-radius:5px;font-size:.7rem;font-weight:600;padding:.18rem .6rem}.rd-badge--lang{background:color-mix(in srgb,#6366f1 10%,#0000);background:color-mix(in srgb,var(--accent) 10%,#0000);border:1px solid color-mix(in srgb,#6366f1 25%,#0000);border:1px solid color-mix(in srgb,var(--accent) 25%,#0000);color:#6366f1;color:var(--accent)}.rd-badge--mgr{background:var(--bs-secondary-bg);border:1px solid var(--bs-border-color);color:var(--bs-secondary-color)}.rd-badge--mono{background:#a855f71a;border:1px solid #a855f740;color:#a855f7}.rd-meta-text{color:var(--bs-secondary-color);font-size:.75rem}.rd-actions{flex-shrink:0;gap:.625rem}.rd-actions,.rd-branch-group{align-items:center;display:flex}.rd-branch-group{background:var(--bs-tertiary-bg);border:1.5px solid var(--bs-border-color);border-radius:10px;gap:.5rem;padding:.425rem .75rem}.rd-branch-label{color:var(--bs-secondary-color);font-size:.675rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.rd-branch-value{color:var(--bs-body-color);font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono)}.rd-branch-value,.rd-btn{font-size:.8125rem;font-weight:600}.rd-btn{border:none;border-radius:8px;cursor:pointer;line-height:1.4;padding:.4rem .9rem;transition:all .16s cubic-bezier(.4,0,.2,1);transition:all var(--transition);white-space:nowrap}.rd-btn:disabled{cursor:not-allowed;opacity:.55;transform:none!important}.rd-btn--secondary{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);color:var(--bs-body-color)}.rd-btn--secondary:hover:not(:disabled){background:var(--bs-secondary-bg);border-color:var(--bs-secondary-color)}.rd-btn--primary{background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 2px 8px #6366f159;color:#fff}.rd-btn--primary:hover:not(:disabled){box-shadow:0 4px 14px #6366f173;transform:translateY(-1px)}.ce-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.ce-section-title{align-items:center;color:var(--bs-body-color);display:flex;font-size:.9375rem;font-weight:700;gap:.5rem;margin:0}.ce-section-icon{font-size:1rem;line-height:1}.ce-section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.ce-card{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:14px;border-radius:var(--radius-card);box-shadow:0 1px 2px #0000000f,0 2px 8px #0000000f;box-shadow:var(--shadow-card);overflow:hidden}.ce-card-header{background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);gap:.75rem;justify-content:space-between;padding:.875rem 1.125rem}.ce-card-header,.ce-card-title{align-items:center;display:flex}.ce-card-title{color:var(--bs-body-color);font-size:.875rem;font-weight:700;gap:.4rem;margin:0}.ce-card-body{padding:1.125rem}.ce-card-body--flush{padding:0}.ce-grid-2{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.ce-grid-3{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.ce-grid-4{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.ce-table-wrap{border-radius:12.5px;border-radius:calc(var(--radius-card) - 1.5px);overflow-x:auto}.ce-table{border-collapse:collapse;font-size:.8125rem;width:100%}.ce-table thead th{background:var(--bs-tertiary-bg);border-bottom:2px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.625rem .875rem;text-align:left;text-transform:uppercase;white-space:nowrap}.ce-table tbody td{border-bottom:1px solid var(--bs-border-color);color:var(--bs-body-color);padding:.625rem .875rem;vertical-align:middle}.ce-table tbody tr:last-child td{border-bottom:none}.ce-table tbody tr:hover td{background:var(--bs-tertiary-bg)}.ce-table--clickable tbody tr{cursor:pointer}.ce-table--clickable tbody tr:hover td{background:color-mix(in srgb,#6366f1 5%,var(--bs-tertiary-bg));background:color-mix(in srgb,var(--accent) 5%,var(--bs-tertiary-bg))}.ce-sev{align-items:center;border-radius:100px;color:#fff;display:inline-flex;font-size:.6875rem;font-weight:700;gap:.25rem;letter-spacing:.03em;padding:.22rem .6rem;white-space:nowrap}.ce-sev--critical{background:#dc2626}.ce-sev--high{background:#ea580c}.ce-sev--medium{background:#ca8a04}.ce-sev--low{background:#16a34a}.ce-sev--info{background:#6366f1}.ce-sev--none{background:var(--bs-secondary-color)}.ce-status{align-items:center;border-radius:100px;display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;padding:.2rem .55rem}.ce-status--open{background:#ea580c1a;color:#ea580c}.ce-status--in-progress{background:#6366f11a;color:#6366f1}.ce-status--resolved{background:#16a34a1a;color:#16a34a}.ce-status--mitigated{background:#ca8a041a;color:#ca8a04}.ce-status--false-pos{background:var(--bs-secondary-bg);color:var(--bs-secondary-color)}.ce-grade{align-items:center;border:3px solid;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:1.375rem;font-weight:900;height:48px;justify-content:center;letter-spacing:-.02em;width:48px}.ce-grade--a{background:#16a34a1a;border-color:#16a34a;color:#16a34a}.ce-grade--b{background:#65a30d1a;border-color:#65a30d;color:#65a30d}.ce-grade--c{background:#ca8a041a;border-color:#ca8a04;color:#ca8a04}.ce-grade--d{background:#ea580c1a;border-color:#ea580c;color:#ea580c}.ce-grade--f{background:#dc26261a;border-color:#dc2626;color:#dc2626}.ce-score-bar{background:var(--bs-tertiary-bg);border-radius:3px;height:6px;overflow:hidden}.ce-score-bar-fill{border-radius:3px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.ce-score-bar-fill--green{background:linear-gradient(90deg,#16a34a,#4ade80)}.ce-score-bar-fill--yellow{background:linear-gradient(90deg,#ca8a04,#fbbf24)}.ce-score-bar-fill--red{background:linear-gradient(90deg,#dc2626,#f87171)}.ce-score-bar-fill--blue{background:linear-gradient(90deg,#6366f1,#818cf8)}.ce-filter-bar{align-items:center;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);display:flex;flex-wrap:wrap;gap:.625rem;padding:.75rem 1rem}.ce-search-input{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:8px;color:var(--bs-body-color);flex:1 1;font-size:.8125rem;max-width:320px;min-width:180px;outline:none;padding:.4rem .75rem;transition:border-color .16s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition)}.ce-search-input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f;box-shadow:0 0 0 3px var(--accent-light);outline:none}.ce-filter-select{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:8px;color:var(--bs-body-color);cursor:pointer;font-size:.8rem;font-weight:500;outline:none;padding:.4rem .65rem}.ce-filter-select:focus{border-color:#6366f1;border-color:var(--accent)}.ce-filter-count{color:var(--bs-secondary-color);font-size:.75rem;margin-left:auto;white-space:nowrap}.ce-kpi-group{margin-bottom:1.5rem}.ce-kpi-group-label{color:var(--bs-secondary-color);font-size:.6875rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;padding-left:.125rem;text-transform:uppercase}.ce-kpi-row{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.ce-kpi{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:14px;border-radius:var(--radius-card);box-shadow:0 1px 2px #0000000f,0 2px 8px #0000000f;box-shadow:var(--shadow-card);overflow:hidden;padding:.875rem 1rem;position:relative}.ce-kpi:after{background:#6366f1;background:var(--kpi-color,var(--accent));border-radius:3px 0 0 3px;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.ce-kpi-value{color:var(--bs-body-color);color:var(--kpi-color,var(--bs-body-color));font-size:1.5rem;font-weight:800;letter-spacing:-.03em;line-height:1}.ce-kpi-label{font-weight:500;line-height:1.3;margin-top:.3rem}.ce-kpi-label,.ce-kpi-sub{color:var(--bs-secondary-color);font-size:.7rem}.ce-kpi-sub{margin-top:.125rem}.ce-mono{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-family:var(--font-mono);font-size:.8125rem}.ce-tag{align-items:center;background:var(--bs-secondary-bg);border:1px solid var(--bs-border-color);border-radius:5px;color:var(--bs-secondary-color);display:inline-flex;font-size:.7rem;font-weight:600;padding:.18rem .55rem}.ce-expand-panel{animation:ce-slide-down .15s ease;background:var(--bs-tertiary-bg);border-top:1.5px solid var(--bs-border-color);padding:1rem 1.125rem}@keyframes ce-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ce-icon-btn{align-items:center;background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:7px;color:var(--bs-secondary-color);cursor:pointer;display:inline-flex;font-size:.875rem;height:30px;justify-content:center;transition:all .16s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:30px}.ce-icon-btn:hover{background:var(--bs-secondary-bg);border-color:var(--bs-secondary-color);color:var(--bs-body-color)}.ce-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;line-height:1.4;padding:.425rem .9rem;transition:all .16s cubic-bezier(.4,0,.2,1);transition:all var(--transition);white-space:nowrap}.ce-btn:disabled{cursor:not-allowed;opacity:.5}.ce-btn--primary{background:#6366f1;background:var(--accent);box-shadow:0 2px 8px #6366f14d;color:#fff}.ce-btn--primary:hover:not(:disabled){background:#4f46e5;background:var(--accent-hover,#4f46e5);box-shadow:0 4px 14px #6366f166;transform:translateY(-1px)}.ce-btn--secondary{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);color:var(--bs-body-color)}.ce-btn--secondary:hover:not(:disabled){background:var(--bs-secondary-bg);border-color:var(--bs-secondary-color)}.ce-btn--danger{background:#dc26261a;border:1.5px solid #dc262640;color:#dc2626}.ce-btn--danger:hover:not(:disabled){background:#dc26262e}.ce-btn--sm{font-size:.75rem;padding:.3rem .65rem}.ce-info-grid{grid-gap:.375rem 1rem;align-items:baseline;display:grid;gap:.375rem 1rem;grid-template-columns:auto 1fr}.ce-info-label{color:var(--bs-secondary-color);font-size:.75rem;font-weight:600;white-space:nowrap}.ce-info-value{color:var(--bs-body-color);font-size:.8125rem}.ce-divider{background:var(--bs-border-color);border:none;height:1px;margin:1rem 0}.ce-blank{align-items:center;color:var(--bs-secondary-color);display:flex;flex-direction:column;gap:.625rem;justify-content:center;padding:3rem 1rem;text-align:center}.ce-blank-icon{font-size:2.5rem;line-height:1}.ce-blank-title{color:var(--bs-body-color);font-size:.9375rem;font-weight:700}.ce-blank-sub{font-size:.8125rem;max-width:360px}.repos-info-banner{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:14px;border-radius:var(--radius-card);box-shadow:0 1px 2px #0000000f,0 2px 8px #0000000f;box-shadow:var(--shadow-card);overflow:hidden;position:relative}.repos-info-banner:before{background:linear-gradient(90deg,#6366f1,#a855f7,#3b82f6,#10b981);content:"";display:block;height:3px}.repos-info-banner__body{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem 1.25rem}.repos-info-banner__text{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:200px}.repos-info-banner__lead{color:var(--bs-body-color);font-size:.875rem;font-weight:650;line-height:1.4}.repos-info-banner__sub{color:var(--bs-secondary-color);font-size:.78rem;line-height:1.4}.repos-info-banner__chips{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.repos-info-chip{align-items:center;border:1.5px solid;border-radius:100px;display:inline-flex;font-size:.72rem;font-weight:600;gap:.2rem;padding:.22rem .65rem;white-space:nowrap}.repos-info-chip--red{background:#dc262614;border-color:#dc262633;color:#dc2626}.repos-info-chip--blue{background:#2563eb14;border-color:#2563eb33;color:#2563eb}.repos-info-chip--purple{background:#7c3aed14;border-color:#7c3aed33;color:#7c3aed}.repos-info-chip--green{background:#16a34a14;border-color:#16a34a33;color:#16a34a}.repos-info-chip--orange{background:#ea580c14;border-color:#ea580c33;color:#ea580c}.repos-info-chip--grey{background:var(--bs-secondary-bg);border-color:var(--bs-border-color);color:var(--bs-secondary-color)}@media (max-width:768px){.ce-sidebar{transform:translateX(-100%)}.ce-sidebar.open{transform:translateX(0)}.ce-main{margin-left:0}.App-body{padding:1.25rem 1rem 3rem}}*{scrollbar-color:var(--bs-border-color) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--bs-border-color);border-radius:3px}.section-divider{border:none;border-top:1px solid var(--bs-border-color);margin:1.75rem 0}@media print{.btn,.ce-sidebar,.ce-topbar,.no-print,footer,nav{display:none!important}.ce-main{margin-left:0!important}.App-body{padding:0!important}.docs-layout-toc{display:none!important}.docs-layout-content{grid-column:1/-1!important}@page{size:A4;margin:18mm 15mm 18mm 15mm}body{background:#fff!important;color:#111!important;font-size:10pt!important;line-height:1.5!important}section{page-break-inside:avoid}h2{margin-top:1.5rem!important;page-break-after:avoid}.docs-print-header{border-bottom:2px solid #1e3a5f;display:block!important;margin-bottom:2rem;padding-bottom:1rem;text-align:center}table{border-collapse:collapse;font-size:9pt;width:100%}td,th{border:1px solid #ccc;padding:4px 6px}thead{background:#f0f4f8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}code,pre{background:#f5f5f5!important;color:#111!important;font-size:8.5pt}pre{border:1px solid #ddd;padding:6px 8px}a[href]:after{color:#666;content:" (" attr(href) ")";font-size:7pt}a[href^="#"]:after{content:""}.why-it-matters{background:#eff6ff!important;border-left:3px solid #2563eb!important;padding:6px 10px!important}.badge,.why-it-matters{-webkit-print-color-adjust:exact;print-color-adjust:exact}.badge{background:#eee!important;border:1px solid #999!important;color:#111!important}}.repos-info-chip--iac{background:#0ea5e914;border-color:#0ea5e933;color:#0284c7}.iac-source-banner{align-items:center;background:linear-gradient(135deg,#0ea5e914,#0ea5e90a);border:1.5px solid #0ea5e933;border-radius:10px;display:flex;gap:1rem;margin-bottom:1.25rem;padding:.75rem 1.25rem}.iac-source-icon{font-size:1.75rem}.iac-source-label{color:var(--bs-body-color);display:block;font-size:.875rem;font-weight:700}.iac-source-value{color:var(--bs-secondary-color);font-family:monospace;font-size:.8rem}.iac-source-note{color:var(--bs-secondary-color);font-size:.75rem;margin-left:auto;white-space:nowrap}.iac-os-pkg-badge{align-items:center;background:#0ea5e914;border:1px solid #0ea5e933;border-radius:6px;display:flex;font-size:.78rem;gap:.5rem;padding:.35rem .75rem}.iac-os-pkg-distro{color:#0284c7;font-weight:600}.iac-os-pkg-note{color:var(--bs-secondary-color)}.iac-health-notice{background:#0ea5e912;border:1.5px solid #0ea5e933;border-radius:10px;color:var(--bs-body-color);display:flex;font-size:.82rem;gap:.5rem;margin-bottom:1rem;padding:.875rem 1rem}@keyframes sk-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.sk-base{animation:sk-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background:linear-gradient(90deg,var(--bs-tertiary-bg,#e2e8f0) 25%,var(--bs-secondary-bg,#f1f5f9) 50%,var(--bs-tertiary-bg,#e2e8f0) 75%);background-size:800px 100%;display:block}.sk-text{display:flex;flex-direction:column;gap:8px}.sk-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;padding:16px 18px}.sk-table{border-collapse:collapse;width:100%}.sk-table-row{grid-gap:12px;align-items:center;border-bottom:1px solid var(--bs-border-color);display:grid;gap:12px;grid-template-columns:repeat(4,1fr);grid-template-columns:repeat(var(--cols,4),1fr);padding:10px 14px}.sk-table-header{background:var(--bs-tertiary-bg);padding:8px 14px}.es-root{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:3rem 2rem;text-align:center}.es-sm{padding:1.5rem 1rem}.es-lg{padding:5rem 2rem}.es-icon{font-size:2.5rem;line-height:1;margin-bottom:.25rem;opacity:.7}.es-sm .es-icon{font-size:1.75rem}.es-lg .es-icon{font-size:3.5rem}.es-title{color:var(--bs-body-color);font-size:.975rem;font-weight:700;letter-spacing:-.01em}.es-sm .es-title{font-size:.875rem}.es-lg .es-title{font-size:1.1rem}.es-desc{color:var(--bs-secondary-color);font-size:.82rem;line-height:1.55;max-width:320px}.es-btn{align-items:center;background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;cursor:pointer;display:inline-flex;font-family:sans-serif;font-family:var(--font-sans,sans-serif);font-size:.82rem;font-weight:600;gap:.4rem;margin-top:.75rem;padding:.45rem 1.1rem;text-decoration:none;transition:opacity .16s}.es-btn:hover{color:#fff;opacity:.85}@keyframes tfg-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes tfg-flow-pulse{0%,to{opacity:.45}50%{opacity:1}}.tfg-root{animation:tfg-fade-in .22s ease;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000d;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:12px 0;overflow:hidden}.tfg-header{background:linear-gradient(135deg,#4f46e5,#7c3aed 60%,#6d28d9);color:#fff;justify-content:space-between;padding:10px 16px}.tfg-header,.tfg-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.tfg-header-icon{font-size:15px}.tfg-header-title{font-size:13px;font-weight:700;letter-spacing:.02em}.tfg-header-rule{background:#ffffff1f;border-radius:4px;color:#ffffffb3;font-family:JetBrains Mono,Fira Code,monospace;font-size:10px;max-width:240px;overflow:hidden;padding:2px 8px;text-overflow:ellipsis;white-space:nowrap}.tfg-badge{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 9px}.tfg-badge--nodes{background:#ffffff2e;color:#fff}.tfg-badge--xfile{background:#fbbf2447;border:1px solid #fbbf2459;color:#fde68a}.tfg-summary{align-items:center;background:#f5f7ff;border-bottom:1px solid #e0e7ff;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;padding:9px 16px}.tfg-sum-chip{align-items:center;border-radius:20px;display:inline-flex;font-family:JetBrains Mono,Fira Code,monospace;font-weight:600;gap:5px;padding:3px 10px;white-space:nowrap}.tfg-sum-chip--source{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.tfg-sum-chip--sink{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.tfg-sum-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.tfg-sum-file{font-weight:600}.tfg-sum-line{opacity:.65}.tfg-sum-mid{color:#94a3b8;font-size:11px;font-style:italic;letter-spacing:.03em}.tfg-sum-arrow{color:#94a3b8;font-size:14px;font-weight:700}.tfg-match-note{background:#fffbeb;border-bottom:1px solid #fef3c7;color:#92400e;font-size:12px;line-height:1.5;padding:9px 16px}.tfg-flow{align-items:stretch;background:#f8fafc;gap:0;padding:16px}.tfg-connector,.tfg-flow{display:flex;flex-direction:column}.tfg-connector{align-items:center;min-height:36px;padding:2px 0;position:relative}.tfg-connector-track{animation:tfg-flow-pulse 2.5s ease-in-out infinite;background:linear-gradient(180deg,#a5b4fc,#818cf8);border-radius:1px;flex:1 1;min-height:22px;width:2px}.tfg-connector-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:8px solid #818cf8;filter:drop-shadow(0 1px 2px rgba(99,102,241,.25));height:0;width:0}.tfg-connector-label{color:#94a3b8;font-size:9.5px;font-weight:600;letter-spacing:.06em;position:absolute;right:0;text-transform:uppercase;top:50%;transform:translateY(-50%);white-space:nowrap}.tfg-connector--xfile .tfg-connector-track{background:linear-gradient(180deg,#fde68a,#fbbf24)}.tfg-connector--xfile .tfg-connector-arrow{border-top-color:#f59e0b}.tfg-xfile-badge{background:#fef3c7;border:1px solid #fde68a;border-radius:4px;color:#92400e;font-size:10px;font-weight:700;margin-bottom:4px;padding:2px 8px;white-space:nowrap}.tfg-node{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f,0 2px 8px #0000000a;overflow:hidden;transition:box-shadow .2s,transform .15s}.tfg-node:hover{box-shadow:0 2px 8px #0000001a,0 4px 20px #00000012;transform:translateY(-1px)}.tfg-node--source{border-left:4px solid #4f46e5}.tfg-node--sink{border-left:4px solid #e11d48}.tfg-node--step{border-left:4px solid #64748b}.tfg-node--sanitizer{border-left:4px solid #059669}.tfg-node--match{border-left:4px solid #d97706}.tfg-node-head{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;padding:8px 12px}.tfg-node-head--source{background:#eef2ff}.tfg-node-head--sink{background:#fff1f2}.tfg-node-head--step{background:#f8fafc}.tfg-node-head--sanitizer{background:#ecfdf5}.tfg-node-head--match{background:#fffbeb}.tfg-node-head-left{align-items:center;display:flex;gap:6px}.tfg-node-head-right{align-items:center;display:flex;gap:8px;margin-left:auto}.tfg-role-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:10px;font-weight:800;gap:5px;letter-spacing:.09em;padding:3px 9px;text-transform:uppercase}.tfg-node--source .tfg-role-pill{background:#e0e7ff;border:1px solid #c7d2fe;color:#4338ca}.tfg-node--sink .tfg-role-pill{background:#ffe4e6;border:1px solid #fecdd3;color:#be123c}.tfg-node--step .tfg-role-pill{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.tfg-node--sanitizer .tfg-role-pill{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.tfg-node--match .tfg-role-pill{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.tfg-role-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.tfg-method-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;font-size:10px;font-style:italic;padding:2px 7px}.tfg-loc,.tfg-method-chip{font-family:JetBrains Mono,Fira Code,monospace}.tfg-loc{cursor:default;font-size:11px}.tfg-loc-file{color:#334155;font-weight:600}.tfg-loc-line{color:#94a3b8}.tfg-step-num{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;padding:2px 7px;white-space:nowrap}.tfg-code-area{align-items:stretch;background:#fafbfc;border-top:1px solid #f1f5f9;display:flex;position:relative}.tfg-gutter{align-items:center;background:#f1f5f9;border-right:1px solid #e2e8f0;display:flex;justify-content:flex-end;min-width:44px;padding:8px 10px}.tfg-gutter-num{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:11px;-webkit-user-select:none;user-select:none}.tfg-code-body{align-items:center;display:flex;flex:1 1;gap:6px;overflow:hidden;padding:8px 90px 8px 12px}.tfg-code-marker{flex-shrink:0;font-size:15px;font-weight:900;line-height:1;opacity:.85}.tfg-code{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12.5px;line-height:1.5;max-width:100%;overflow-x:auto;white-space:pre}.tfg-code--source{color:#312e81}.tfg-code--sink{color:#881337}.tfg-code--step{color:#1e293b}.tfg-code--sanitizer{color:#064e3b}.tfg-code--match{color:#78350f}.tfg-copy-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 9px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:all .15s;white-space:nowrap}.tfg-copy-btn:hover{background:#e2e8f0;border-color:#94a3b8;color:#1e293b}.tfg-expand-btn{background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;font-size:11.5px;font-weight:600;letter-spacing:.02em;margin:2px 0;padding:9px 16px;transition:all .18s;width:100%}.tfg-expand-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#475569}.tfg-collapse-btn{align-self:center;background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.05em;margin-top:6px;padding:4px 12px;text-transform:uppercase;transition:all .15s}.tfg-collapse-btn:hover{background:#f1f5f9;color:#475569}.tfg-legend{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px}.tfg-legend-chip{align-items:center;border-radius:20px;display:inline-flex;font-size:10px;font-weight:700;gap:5px;letter-spacing:.07em;padding:3px 10px;text-transform:uppercase}.tfg-legend-chip--source{background:#e0e7ff;border:1px solid #c7d2fe;color:#4338ca}.tfg-legend-chip--step{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.tfg-legend-chip--sink{background:#ffe4e6;border:1px solid #fecdd3;color:#be123c}.tfg-legend-chip--sanitizer{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.pcc-root{background:#fff;border:1.5px solid #e0e7ff;border-left:4px solid #6366f1;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin:8px 0;overflow:hidden}.pcc-header{background:#eef2ff;border-bottom:1px solid #e0e7ff;color:#4f46e5;font-size:11px;font-weight:800;gap:6px;letter-spacing:.08em;padding:7px 12px;text-transform:uppercase}.pcc-header,.pcc-location{align-items:center;display:flex}.pcc-location{flex-wrap:wrap;gap:5px;padding:7px 12px 5px}.pcc-crumb{border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;font-weight:700;padding:2px 6px}.pcc-module{background:#ede9fe;border:1px solid #ddd6fe;color:#6d28d9}.pcc-class{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.pcc-function{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.pcc-sep{color:#94a3b8;font-size:12px;font-weight:700}.pcc-line{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.pcc-captures{padding:6px 12px 10px}.pcc-captures-title{color:#94a3b8;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.pcc-captures-grid{display:flex;flex-direction:column;gap:4px}.pcc-capture-row{align-items:center;background:#f8fafc;border:1px solid #f1f5f9;border-radius:4px;display:flex;font-size:12px;gap:8px;padding:3px 6px}.pcc-cap-key{background:#fef3c7;border:1px solid #fde68a;border-radius:3px;color:#b45309;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;padding:1px 5px}.pcc-cap-eq{color:#94a3b8;font-weight:700}.pcc-cap-val{background:#f8fafc;border:1px solid #e2e8f0;border-radius:3px;color:#1e293b;font-family:JetBrains Mono,monospace;font-size:11px;padding:1px 5px;word-break:break-all}.ao-root{padding:0}.ao-hero{align-items:center;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:12px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:1.5rem 1rem}.ao-hero-label{color:var(--bs-secondary-color);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.ao-hero-score{font-size:4rem;font-weight:800;line-height:1}.ao-hero-score.green{color:#22c55e}.ao-hero-score.amber{color:#f59e0b}.ao-hero-score.red{color:#ef4444}.ao-hero-bar-wrap{background:var(--bs-border-color);border-radius:999px;height:8px;max-width:320px;overflow:hidden;width:100%}.ao-hero-bar{border-radius:999px;height:100%;transition:width .6s ease}.ao-hero-bar.green{background:#22c55e}.ao-hero-bar.amber{background:#f59e0b}.ao-hero-bar.red{background:#ef4444}.ao-hero-sub{color:var(--bs-secondary-color);font-size:.8rem}.ao-pipeline{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.ao-pipeline-step{align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:999px;color:var(--bs-body-color);display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:.3rem .75rem}.ao-pipeline-step.loading{border-color:#6366f1;color:#6366f1}.ao-pipeline-step.success{border-color:#22c55e;color:#22c55e}.ao-pipeline-step.error{border-color:#ef4444;color:#ef4444}.ao-badge-count{background:#ef4444;border-radius:999px;color:#fff;font-size:.7rem;font-weight:700;line-height:1.6;min-width:1.3em;padding:0 .4em;text-align:center}.ao-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:1.25rem}.ao-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.ao-card-header{align-items:center;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);font-weight:700;gap:.5rem;padding:.75rem 1rem .5rem}.ao-card-body,.ao-card-header{display:flex;font-size:.875rem}.ao-card-body{flex:1 1;flex-direction:column;gap:.375rem;padding:.75rem 1rem}.ao-card-footer{background:var(--bs-tertiary-bg);border-top:1px solid var(--bs-border-color);padding:.5rem 1rem}.ao-link{background:none;border:none;color:#6366f1;color:var(--accent,#6366f1);cursor:pointer;font-size:.8125rem;font-weight:600;padding:0;text-decoration:none}.ao-link:hover{text-decoration:underline}.ao-sev{align-items:center;border-radius:4px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;gap:.2em;padding:.15em .55em}.ao-sev-CRITICAL{background:#ef4444}.ao-sev-HIGH{background:#f97316}.ao-sev-MEDIUM{background:#eab308;color:#1a1a1a}.ao-sev-LOW{background:#3b82f6}.ao-row{align-items:center;color:var(--bs-body-color);display:flex;justify-content:space-between}.ao-row-label{color:var(--bs-secondary-color)}.ao-row-value{font-weight:600}.ao-actions{display:flex;flex-direction:column;gap:.5rem}.ao-action-btn{align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:7px;color:var(--bs-body-color);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.4rem;padding:.45rem .875rem;text-decoration:none;transition:background .15s,border-color .15s}.ao-action-btn:hover{background:var(--bs-tertiary-bg);color:#6366f1;color:var(--accent,#6366f1)}.ao-action-btn.primary,.ao-action-btn:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.ao-action-btn.primary{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.ao-action-btn.primary:hover{color:#fff;filter:brightness(1.1)}.ao-rerun-btn{align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:7px;color:var(--bs-body-color);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.4rem;padding:.4rem 1rem;transition:background .15s}.ao-rerun-btn:hover{background:var(--bs-tertiary-bg)}.ao-grade{align-items:center;border-radius:6px;color:#fff;display:inline-flex;font-size:1.1rem;font-weight:800;height:2.2rem;justify-content:center;width:2.2rem}.ao-grade-A{background:#22c55e}.ao-grade-B{background:#3b82f6}.ao-grade-C{background:#f59e0b}.ao-grade-D{background:#f97316}.ao-grade-F{background:#ef4444}.pig-page{background:#f8fafc;background:var(--bs-body-bg,#f8fafc);flex-direction:column;height:calc(100vh - 48px);position:relative}.pig-body,.pig-page{display:flex;overflow:hidden}.pig-body{flex:1 1;gap:1rem;min-height:0;padding:0 1.5rem 1rem}.pig-topstrip{background:var(--bs-body-bg);border-bottom:1px solid var(--bs-border-color);flex-shrink:0;padding:1.125rem 1.5rem .875rem}.pig-topstrip-main{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.pig-topstrip-title{flex-shrink:0}.pig-search-wrap{flex:1 1;max-width:480px;position:relative;z-index:50}.pig-search-bar{align-items:center;background:#fff;background:var(--bs-body-bg,#fff);border:1.5px solid #e2e8f0;border:1.5px solid var(--bs-border-color,#e2e8f0);border-radius:10px;box-shadow:var(--shadow-soft);display:flex;gap:10px;padding:0 12px;transition:border-color .18s,box-shadow .18s}.pig-search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light),var(--shadow-soft)}.pig-search-icon{flex-shrink:0;font-size:1rem;opacity:.6}.pig-search-input{background:#0000;border:none;color:#1e293b;color:var(--bs-body-color,#1e293b);flex:1 1;font-size:.875rem;outline:none;padding:9px 0}.pig-search-input::placeholder{color:#94a3b8}.pig-search-spinner{animation:pig-spin .7s linear infinite;border:2px solid #6366f14d;border-radius:50%;border-top-color:#6366f1;display:inline-block;flex-shrink:0;height:16px;width:16px}@keyframes pig-spin{to{transform:rotate(1turn)}}.pig-autocomplete{background:#fff;background:var(--bs-body-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--bs-border-color,#e2e8f0);border-radius:12px;box-shadow:0 8px 32px #00000024;left:24px;list-style:none;margin:0;max-height:320px;overflow-y:auto;padding:6px 0;position:absolute;right:24px;top:calc(100% + 4px);z-index:200}.pig-autocomplete-item{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 16px;transition:background .12s}.pig-autocomplete-item:hover{background:#6366f112}.pig-ac-name{color:#1e293b;color:var(--bs-body-color,#1e293b);flex:1 1;font-size:.9rem;font-weight:600}.pig-ac-eco{background:#6366f11a;border-radius:4px;color:#6366f1;font-size:.75rem;font-weight:500;padding:2px 7px}.pig-ac-repos{color:#94a3b8;font-size:.75rem;white-space:nowrap}.pig-error{align-items:center;background:#dc262614;border:1px solid #dc262640;border-radius:10px;color:#dc2626;display:flex;flex-shrink:0;font-size:.88rem;gap:8px;margin:12px 24px 0;padding:12px 16px}.pig-skeleton-wrap{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:16px 24px}.pig-skeleton{animation:pig-shimmer 1.4s infinite;background:linear-gradient(90deg,#e2e8f0 25%,#94a3b840 50%,#e2e8f0 75%);background:linear-gradient(90deg,var(--bs-border-color,#e2e8f0) 25%,#94a3b840 50%,var(--bs-border-color,#e2e8f0) 75%);background-size:200% 100%;border-radius:12px}.pig-skeleton--stats{flex-shrink:0;height:96px}.pig-skeleton--graph{flex:1 1}@keyframes pig-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pig-empty{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center;padding:48px 24px;text-align:center}.pig-empty-icon{animation:pig-float 3s ease-in-out infinite;filter:drop-shadow(0 4px 16px rgba(99,102,241,.3));font-size:4rem;line-height:1}@keyframes pig-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pig-empty-title{color:#1e293b;color:var(--bs-body-color,#1e293b);font-size:1.4rem;font-weight:700;margin:0}.pig-empty-desc{color:#64748b;font-size:.92rem;line-height:1.6;margin:0;max-width:480px}.pig-empty-steps{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-width:400px}.pig-empty-step{align-items:center;color:#475569;display:flex;font-size:.88rem;gap:12px;text-align:left}.pig-empty-step-num{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.78rem;font-weight:700;height:26px;justify-content:center;width:26px}.pig-kpi-area{flex-shrink:0;padding:.875rem 1.5rem 0}.pig-filter-bar{flex-shrink:0;gap:.5rem;padding-bottom:.75rem}.pig-filter-bar,.pig-filter-group{align-items:center;display:flex;flex-wrap:wrap}.pig-filter-group{gap:.3rem}.pig-filter-label{color:var(--bs-secondary-color);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-right:2px;text-transform:uppercase;white-space:nowrap}.pig-filter-search{background:#fff;background:var(--bs-body-bg,#fff);border:1.5px solid #e2e8f0;border:1.5px solid var(--bs-border-color,#e2e8f0);border-radius:8px;color:#1e293b;color:var(--bs-body-color,#1e293b);font-size:.75rem;min-width:140px;outline:none;padding:.3rem .65rem;transition:border-color .15s}.pig-filter-search:focus{border-color:var(--accent)}.pig-filter-search::placeholder{color:var(--bs-secondary-color)}.pig-canvas-wrap{background:var(--bs-body-bg)!important;flex:1 1;margin-bottom:0!important;min-height:0;min-width:0;overflow:hidden;padding:0!important;position:relative}.pig-legend{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:1px solid #e2e8f0;border:1px solid var(--bs-border-color,#e2e8f0);border-radius:10px;bottom:14px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:10px;left:16px;padding:8px 14px;pointer-events:none;position:absolute}.pig-legend-item{align-items:center;display:flex;gap:5px}.pig-legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.pig-legend-dot--pkg{border:2px solid #6366f180}.pig-legend-label{color:#64748b;color:var(--bs-secondary-color,#64748b);font-size:.7rem;font-weight:500;white-space:nowrap}.pig-side-panel{animation:pig-slide-in .18s ease-out;display:flex;flex-direction:column;flex-shrink:0;gap:0;margin-bottom:0!important;overflow-y:auto;width:300px}@keyframes pig-slide-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.pig-side-section-title{border-bottom:1px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;margin-top:.25rem;padding-bottom:.3rem;text-transform:uppercase}.pig-cve-list{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.pig-filter-empty{align-items:center;color:#64748b;display:flex;font-size:.88rem;gap:8px;padding:20px 24px}@media (max-width:768px){.pig-stats-bar{grid-template-columns:repeat(2,1fr)}.pig-side-panel{bottom:0;box-shadow:-4px 0 24px #0000002e;position:absolute;right:0;top:0;width:280px;z-index:10}.pig-filter-bar{gap:6px}}@media (max-width:480px){.pig-stats-bar{gap:8px;grid-template-columns:repeat(2,1fr);padding:10px 12px 0}.pig-header{flex-wrap:wrap;gap:10px;padding:12px 16px}.pig-search-wrap{padding:10px 12px 0}}.pig-view-toggle{background:var(--ce-surface);border:1px solid var(--ce-border);border-radius:6px;display:flex;gap:2px;padding:2px}.pig-view-toggle .ce-btn{border:none;border-radius:4px;padding:4px 10px}.pig-table-wrap{margin:0 16px 16px;overflow-x:auto;padding:0}.pig-table{border-collapse:collapse;font-size:.8rem;width:100%}.pig-th{background:var(--ce-surface);border-bottom:1px solid var(--ce-border);color:var(--bs-secondary-color);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px 12px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.pig-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.pig-th--sortable:hover{color:var(--accent)}.pig-tr{transition:background .12s}.pig-tr:hover{background:var(--ce-surface)}.pig-tr:not(:last-child) td{border-bottom:1px solid var(--ce-border)}.pig-td{padding:9px 12px;vertical-align:middle}.pig-td--name{color:var(--bs-body-color);font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pig-td--cves{align-items:center;display:flex;flex-wrap:wrap;gap:4px;padding-bottom:10px;padding-top:10px}.pig-cve-link:hover{background:var(--accent)!important;color:#fff!important}.vrd-container{color:var(--bs-body-color);font-family:var(--font-sans);padding:1.75rem 2.5rem 4rem}.vrd-breadcrumb{align-items:center;color:#6b7280;display:flex;font-size:.83rem;gap:6px;margin-bottom:20px}.vrd-breadcrumb a{color:#6366f1;text-decoration:none}.vrd-breadcrumb a:hover{text-decoration:underline}.vrd-bc-sep{color:#9ca3af}.vrd-bc-current{color:#1f2937;font-weight:600}.vrd-header{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:28px;padding:20px 24px}.vrd-header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:10px}.vrd-rule-id{color:#111827;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.35rem;font-weight:700;margin:0}.vrd-header-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.vrd-description{color:#374151;font-size:.95rem;line-height:1.6;margin:0}.vrd-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.78rem;font-weight:600;gap:4px;padding:3px 10px;white-space:nowrap}.vrd-badge-neutral{background:#6b72801a;border:1px solid #6b728040!important;color:#6b7280}.vrd-tag{border-radius:4px;cursor:default;display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px;text-decoration:none}.vrd-tag-list{display:flex;flex-wrap:wrap;gap:6px}a .vrd-tag{cursor:pointer}a .vrd-tag:hover{opacity:.8}.vrd-body{grid-gap:28px;align-items:start;display:grid;gap:28px;grid-template-columns:1fr 300px}@media (max-width:800px){.vrd-body{grid-template-columns:1fr}.vrd-sidebar{order:-1}}.vrd-section{margin-bottom:28px}.vrd-section-title{align-items:center;color:#111827;display:flex;font-size:1rem;font-weight:700;gap:8px;margin:0 0 12px}.vrd-text{color:#374151;font-size:.93rem;line-height:1.65;margin:0 0 12px}.vrd-text-sm{color:#6b7280;font-size:.85rem}.vrd-fix-box{background:#05966912;border:1px solid #05966940;border-radius:8px;margin-top:12px;padding:14px 16px}.vrd-fix-label{color:#059669;display:block;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.vrd-code-block{background:#1e293b;border-radius:8px;margin:0;overflow:hidden}.vrd-code-header{align-items:center;background:#ffffff0f;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:8px 14px}.vrd-code-lang{font-weight:600;letter-spacing:.06em;text-transform:uppercase}.vrd-code-lang,.vrd-copy-btn{color:#94a3b8;font-size:.75rem}.vrd-copy-btn{background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;cursor:pointer;padding:3px 10px;transition:background .15s}.vrd-copy-btn:hover{background:#ffffff24;color:#e2e8f0}.vrd-code-pre{color:#e2e8f0;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.85rem;line-height:1.6;margin:0;overflow-x:auto;padding:16px;white-space:pre}.vrd-code-inline{background:#f1f5f9;border-radius:3px;color:#4f46e5;font-family:JetBrains Mono,Fira Code,monospace;font-size:.83em;padding:2px 6px}.vrd-details{border:none}.vrd-summary{color:#6366f1;cursor:pointer;font-size:.88rem;margin-bottom:10px;-webkit-user-select:none;user-select:none}.vrd-summary:hover{text-decoration:underline}.vrd-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px;padding:16px}.vrd-card-title{color:#6b7280;font-size:.82rem;font-weight:700;letter-spacing:.07em;margin:0 0 14px;text-transform:uppercase}.vrd-dl{grid-gap:6px 12px;display:grid;font-size:.87rem;gap:6px 12px;grid-template-columns:auto 1fr;margin:0}.vrd-dl dt{color:#6b7280;font-weight:600;white-space:nowrap}.vrd-dl dd,.vrd-dl dt{align-items:center;display:flex}.vrd-dl dd{color:#1f2937;flex-wrap:wrap;gap:6px;margin:0}.vrd-link{color:#6366f1;text-decoration:none}.vrd-link:hover{text-decoration:underline}.vrd-ref-group{margin-bottom:12px}.vrd-ref-group:last-child{margin-bottom:0}.vrd-ref-label{color:#9ca3af;display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.vrd-actions{display:flex;flex-direction:column;gap:8px}.vrd-action-btn{background:#6366f1;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.87rem;font-weight:600;padding:9px 14px;text-align:left;transition:background .15s,opacity .15s;width:100%}.vrd-action-btn:hover{background:#4f46e5}.vrd-action-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#374151}.vrd-action-secondary:hover{background:#e2e8f0}.rm-root{--rm-blue:#3b82f6;--rm-green:#10b981;--rm-red:#ef4444;--rm-amber:#f59e0b;--rm-indigo:#6366f1;--rm-purple:#a855f7;--rm-bg-hero:#3b82f60a;--rm-surface:hsla(0,0%,100%,.035);--rm-surface-2:#ffffff0f;--rm-border:#ffffff12;--rm-border-2:#ffffff1f;--rm-text:var(--bs-body-color,#e2e8f0);--rm-muted:var(--bs-secondary-color,#94a3b8);--rm-radius:10px;--rm-radius-lg:16px;--rm-shadow:0 4px 24px #0000004d;--rm-glow-blue:0 0 24px #3b82f62e;--rm-glow-green:0 0 16px #10b98126;padding:0 0 60px}[data-bs-theme=light] .rm-root{--rm-bg-hero:#3b82f60a;--rm-surface:#00000008;--rm-surface-2:rgba(0,0,0,.055);--rm-border:#00000017;--rm-border-2:#00000026;--rm-shadow:0 4px 20px #00000014;--rm-glow-blue:0 0 20px #3b82f61f;--rm-glow-green:0 0 12px #10b9811a;--rm-text:#1e293b;--rm-muted:#475569}.rm-hero{background:var(--rm-bg-hero);border:1px solid var(--rm-border-2);border-radius:var(--rm-radius-lg);margin-bottom:28px;overflow:hidden;padding:32px 36px;position:relative}.rm-hero:before{background:radial-gradient(ellipse at 80% 50%,#3b82f612 0,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.rm-hero-grid{grid-gap:32px;align-items:center;display:grid;gap:32px;grid-template-columns:1fr auto}@media (max-width:640px){.rm-hero-grid{grid-template-columns:1fr}.rm-hero{padding:20px}}.rm-hero-tag{align-items:center;background:#3b82f61f;border:1px solid #3b82f640;border-radius:20px;color:var(--rm-blue);display:inline-flex;font-size:.72rem;font-weight:700;gap:6px;letter-spacing:1px;margin-bottom:10px;padding:4px 10px;text-transform:uppercase}.rm-hero-title{color:var(--rm-text);font-size:1.75rem;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin-bottom:6px}.rm-hero-sub{color:var(--rm-muted);font-size:.9rem;line-height:1.6;margin-bottom:20px;max-width:580px}.rm-hero-stats{display:flex;flex-wrap:wrap;gap:28px}.rm-stat-item{display:flex;flex-direction:column}.rm-stat-val{color:var(--rm-text);font-size:1.3rem;font-weight:800;letter-spacing:-.5px;line-height:1}.rm-stat-label{color:var(--rm-muted);font-size:.7rem;letter-spacing:.5px;margin-top:3px;text-transform:uppercase}.rm-gauge-wrap{align-items:center;display:flex;flex-direction:column;gap:6px;min-width:120px}.rm-gauge-label{color:var(--rm-muted);font-size:.72rem;letter-spacing:.5px;text-align:center;text-transform:uppercase}.rm-tabs{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:12px;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:28px;padding:5px}.rm-tab{align-items:center;background:none;border:none;border-radius:8px;color:var(--rm-muted);cursor:pointer;display:flex;font-size:.83rem;font-weight:500;gap:6px;padding:7px 16px;transition:background .18s,color .18s,box-shadow .18s;white-space:nowrap}.rm-tab:hover{background:var(--rm-surface-2);color:var(--rm-text)}.rm-tab.active{background:var(--rm-blue);box-shadow:0 2px 12px #3b82f666;color:#fff;font-weight:600}.rm-section-intro{margin-bottom:24px}.rm-section-heading{align-items:center;color:var(--rm-text);display:flex;font-size:1.1rem;font-weight:700;gap:8px;margin-bottom:4px}.rm-section-desc{color:var(--rm-muted);font-size:.875rem;line-height:1.6}.rm-card{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:var(--rm-radius-lg);padding:20px 24px;transition:border-color .2s,box-shadow .2s}.rm-card:hover{border-color:var(--rm-border-2);box-shadow:var(--rm-shadow)}.rm-card-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:28px}.rm-card-icon-row{align-items:flex-start;display:flex;gap:12px;margin-bottom:10px}.rm-card-icon{flex-shrink:0;font-size:1.6rem;line-height:1;margin-top:2px}.rm-card-title{color:var(--rm-text);font-size:.95rem;font-weight:700;line-height:1.2}.rm-card-sub{color:var(--rm-muted);font-size:.72rem;margin-top:1px}.rm-card-body{color:var(--rm-muted);font-size:.85rem;line-height:1.6;margin:0}.rm-tag{border-radius:20px;display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.3px;margin-top:10px;padding:2px 9px}.rm-tag-blue{background:#3b82f626;border:1px solid #3b82f64d;color:var(--rm-blue)}.rm-tag-green{background:#10b98126;border:1px solid #10b9814d;color:var(--rm-green)}.rm-tag-amber{background:#f59e0b26;border:1px solid #f59e0b4d;color:var(--rm-amber)}.rm-tag-red{background:#ef444426;border:1px solid #ef44444d;color:var(--rm-red)}.rm-tag-purple{background:#a855f726;border:1px solid #a855f74d;color:var(--rm-purple)}.rm-scores-list{display:flex;flex-direction:column;gap:20px}.rm-score-row{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr 180px 48px}@media (max-width:560px){.rm-score-row{gap:8px;grid-template-columns:1fr 120px 40px}}.rm-score-name{color:var(--rm-text);font-size:.88rem;font-weight:600}.rm-score-note{color:var(--rm-muted);font-size:.75rem;line-height:1.4;margin-top:2px}.rm-score-track{background:var(--rm-surface-2);border-radius:3px;height:6px;overflow:hidden}.rm-score-fill{border-radius:3px;height:100%;transition:width 1.2s cubic-bezier(.23,1,.32,1)}.rm-score-num{font-size:1.1rem;font-weight:800;letter-spacing:-.5px;text-align:right}.rm-verdict{align-items:flex-start;background:linear-gradient(135deg,#3b82f614,#10b9810d);border:1px solid #3b82f633;border-radius:var(--rm-radius-lg);display:flex;gap:16px;margin-bottom:28px;padding:20px 24px}.rm-verdict-score{color:var(--rm-green);flex-shrink:0;font-size:2.8rem;font-weight:900;letter-spacing:-2px;line-height:1}.rm-verdict-score span{color:var(--rm-muted);font-size:1rem;font-weight:500;letter-spacing:0}.rm-verdict-title{color:var(--rm-text);font-size:1rem;font-weight:700;margin-bottom:4px}.rm-verdict-text{color:var(--rm-muted);font-size:.85rem;line-height:1.6}.rm-comp-table{border-collapse:collapse;font-size:.83rem;margin-bottom:28px;width:100%}.rm-comp-table th{border-bottom:1px solid var(--rm-border-2);color:var(--rm-muted);font-size:.7rem;font-weight:700;letter-spacing:.8px;padding:10px 14px;text-align:left;text-transform:uppercase}.rm-comp-table td{border-bottom:1px solid var(--rm-border);color:var(--rm-text);padding:12px 14px;vertical-align:middle}.rm-comp-table tr:last-child td{border-bottom:none}.rm-comp-table tr:hover td{background:var(--rm-surface)}.rm-tier-badge{border-radius:4px;display:inline-block;font-size:.68rem;font-weight:700;padding:2px 8px}.rm-tier-1{background:#ef44441f;border:1px solid #ef444440;color:var(--rm-red)}.rm-tier-2{background:#f59e0b1f;border:1px solid #f59e0b40;color:var(--rm-amber)}.rm-matrix{border:1px solid var(--rm-border);border-radius:var(--rm-radius-lg);margin-bottom:12px;overflow:hidden}.rm-matrix table{border-collapse:collapse;font-size:.83rem;width:100%}.rm-matrix th{background:var(--rm-surface);border-bottom:1px solid var(--rm-border-2);color:var(--rm-muted);font-size:.72rem;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:center;text-transform:uppercase}.rm-matrix th:first-child{text-align:left}.rm-matrix th.rm-dg-col{background:#3b82f60f;border-left:2px solid var(--rm-blue);border-right:2px solid #3b82f633;color:var(--rm-blue)}.rm-matrix td{border-bottom:1px solid var(--rm-border);color:var(--rm-text);padding:9px 14px;vertical-align:middle}.rm-matrix td:not(:first-child){text-align:center}.rm-matrix td.rm-dg-col{background:#3b82f60a;border-left:2px solid #3b82f633;border-right:2px solid #3b82f61a}.rm-matrix tr.rm-unique td{background:#3b82f60a}.rm-matrix tr:last-child td{border-bottom:none}.rm-matrix tr:hover td{background:var(--rm-surface)}.rm-matrix tr:hover td.rm-dg-col{background:#3b82f614}.rm-unique-badge{background:var(--rm-blue);border-radius:3px;color:#fff;display:inline-block;font-size:.6rem;font-weight:800;letter-spacing:.5px;margin-right:5px;padding:1px 5px;vertical-align:middle}.rm-gaps-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px}.rm-gap-col-header{align-items:center;display:flex;font-size:.72rem;font-weight:700;gap:6px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.rm-gap-card{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:10px;margin-bottom:10px;padding:12px 14px;transition:box-shadow .2s}.rm-gap-card:hover{box-shadow:var(--rm-shadow)}.rm-gap-card-title{color:var(--rm-text);font-size:.83rem;font-weight:600;margin-bottom:4px}.rm-gap-card-impact{color:var(--rm-muted);font-size:.75rem;line-height:1.5}.rm-gap-done{border-left:3px solid var(--rm-green)}.rm-gap-critical{border-left:3px solid var(--rm-red)}.rm-gap-high{border-left:3px solid var(--rm-amber)}.rm-gap-medium{border-left:3px solid var(--rm-blue)}.rm-timeline{margin-bottom:32px;position:relative}.rm-timeline-track{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(4,1fr);margin-bottom:28px;position:relative}@media (max-width:768px){.rm-timeline-track{grid-template-columns:1fr 1fr;row-gap:20px}}.rm-timeline-connector{background:var(--rm-border-2);height:2px;left:12.5%;position:absolute;right:12.5%;top:22px;z-index:0}.rm-phase-node{cursor:default;flex-direction:column;gap:10px;position:relative;z-index:1}.rm-phase-node,.rm-phase-ring{align-items:center;display:flex}.rm-phase-ring{background:#0f172a;background:var(--bs-body-bg,#0f172a);border:2px solid var(--rm-border-2);border-radius:50%;font-size:.9rem;font-weight:800;height:44px;justify-content:center;transition:box-shadow .2s;width:44px}.rm-phase-ring.done{background:#10b9811a;border-color:var(--rm-green);box-shadow:0 0 16px #10b98140;color:var(--rm-green)}.rm-phase-ring.active{background:#3b82f61a;border-color:var(--rm-blue);box-shadow:0 0 16px #3b82f640;color:var(--rm-blue)}.rm-phase-ring.upcoming{border-color:var(--rm-border-2);color:var(--rm-muted)}.rm-phase-name{color:var(--rm-text);font-size:.75rem;font-weight:700;text-align:center}.rm-phase-period{color:var(--rm-muted);font-size:.68rem;margin-top:-6px;text-align:center}.rm-phase-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.rm-phase-card{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:var(--rm-radius-lg);overflow:hidden;transition:box-shadow .2s}.rm-phase-card:hover{box-shadow:var(--rm-shadow)}.rm-phase-card-header{align-items:center;border-bottom:1px solid var(--rm-border);display:flex;gap:10px;padding:14px 18px}.rm-phase-card-header.done{background:#10b9810f;border-color:#10b98126}.rm-phase-card-header.active{background:#3b82f60f;border-color:#3b82f626}.rm-phase-num{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.8rem;font-weight:800;height:28px;justify-content:center;width:28px}.rm-phase-num.done{background:#10b98133;color:var(--rm-green)}.rm-phase-num.active{background:#3b82f633;color:var(--rm-blue)}.rm-phase-num.upcoming{background:var(--rm-surface-2);color:var(--rm-muted)}.rm-phase-card-title{color:var(--rm-text);font-size:.9rem;font-weight:700}.rm-phase-card-sub{color:var(--rm-muted);font-size:.72rem}.rm-phase-card-body{padding:14px 18px}.rm-checklist{display:flex;flex-direction:column;gap:7px;list-style:none;margin:0 0 14px;padding:0}.rm-checklist li{align-items:flex-start;color:var(--rm-muted);display:flex;font-size:.82rem;gap:7px;line-height:1.4}.rm-checklist li.done-item,.rm-checklist li.done-item span{color:var(--rm-green)}.rm-checklist li.partial-item{color:var(--rm-amber)}.rm-checklist li.planned-item,.rm-checklist li.planned-item span:first-child{color:#3b82f6;color:var(--rm-blue,#3b82f6)}.rm-planned-badge{background:#3b82f626;border:1px solid #3b82f659;border-radius:100px;color:#3b82f6;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.02em;margin-left:.5rem;padding:.1rem .45rem;text-transform:uppercase;vertical-align:middle}.rm-phase-outcome{background:var(--rm-surface-2);border-left:3px solid var(--rm-border-2);border-radius:8px;color:var(--rm-muted);font-size:.78rem;line-height:1.5;padding:10px 12px}.rm-phase-outcome.done{background:#10b9810f;border-color:var(--rm-green);color:var(--rm-green)}.rm-phase-outcome.active{border-color:var(--rm-blue)}.rm-pricing-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px}.rm-pricing-card{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:var(--rm-radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,border-color .2s}.rm-pricing-card:hover{border-color:var(--rm-border-2);box-shadow:var(--rm-shadow)}.rm-pricing-card.highlight{border-color:var(--rm-blue);box-shadow:var(--rm-glow-blue);position:relative}.rm-pricing-card.highlight:before{background:var(--rm-blue);border-radius:20px;box-shadow:0 2px 8px #3b82f666;color:#fff;content:"AANBEVOLEN";font-size:.6rem;font-weight:800;left:50%;letter-spacing:1.5px;padding:3px 12px;position:absolute;top:0;transform:translateX(-50%) translateY(-50%);white-space:nowrap}.rm-pricing-header{border-bottom:1px solid var(--rm-border);padding:22px 20px 14px}.rm-pricing-name{color:var(--rm-muted);font-size:.78rem;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.rm-pricing-price{color:var(--rm-text);font-size:2rem;font-weight:900;letter-spacing:-1px;line-height:1}.rm-pricing-price sub{color:var(--rm-muted);font-size:.85rem;font-weight:500;letter-spacing:0;vertical-align:initial}.rm-pricing-desc{color:var(--rm-muted);font-size:.75rem;margin-top:4px}.rm-pricing-features{display:flex;flex:1 1;flex-direction:column;gap:8px;list-style:none;margin:0;padding:16px 20px}.rm-pricing-features li{align-items:flex-start;color:var(--rm-muted);display:flex;font-size:.82rem;gap:7px;line-height:1.4}.rm-pricing-features li:before{color:var(--rm-green);content:"✓";flex-shrink:0;font-weight:700;margin-top:0}.rm-pricing-cta{border-top:1px solid var(--rm-border);padding:14px 20px}.rm-btn{border:none;border-radius:8px;cursor:pointer;display:block;font-size:.83rem;font-weight:600;padding:9px 16px;text-align:center;transition:opacity .2s,box-shadow .2s;width:100%}.rm-btn-primary{background:var(--rm-blue);box-shadow:0 2px 10px #3b82f659;color:#fff}.rm-btn-primary:hover{opacity:.88}.rm-btn-outline{background:var(--rm-surface-2);border:1px solid var(--rm-border-2);color:var(--rm-muted)}.rm-btn-outline:hover{border-color:var(--rm-blue);color:var(--rm-text)}.rm-strategy-kpi{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.rm-kpi-card{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:var(--rm-radius);display:flex;flex-direction:column;gap:4px;padding:16px 18px}.rm-kpi-val{font-size:1.6rem;font-weight:900;letter-spacing:-1px;line-height:1}.rm-kpi-label{color:var(--rm-muted);font-size:.72rem;letter-spacing:.4px;text-transform:uppercase}.rm-strategy-body{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}@media (max-width:640px){.rm-strategy-body{grid-template-columns:1fr}}.rm-strat-card-title{align-items:center;color:var(--rm-text);display:flex;font-size:.85rem;font-weight:700;gap:6px;margin-bottom:10px}.rm-strat-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.rm-strat-list li{align-items:flex-start;color:var(--rm-muted);display:flex;font-size:.82rem;gap:7px;line-height:1.5}.rm-divider{background:var(--rm-border);height:1px;margin:24px 0}@keyframes rm-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rm-section-content{animation:rm-fadein .22s ease}.pp-page{font-family:var(--font-sans);padding:1.75rem 2.5rem 4rem}.pp-hero{margin-bottom:2rem}.pp-hero h1{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:2rem;font-weight:700;margin-bottom:.35rem}.pp-hero p{color:var(--bs-secondary-color);font-size:1rem;margin:0}.pp-kpi-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.pp-kpi-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);box-shadow:var(--shadow-card);display:flex;flex:1 1 160px;flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem}.pp-kpi-card__value{font-size:2rem;font-weight:700;line-height:1}.pp-kpi-card__label{color:var(--bs-secondary-color);font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.pp-kpi-card--done .pp-kpi-card__value{color:#22c55e}.pp-kpi-card--prog .pp-kpi-card__value{color:#f59e0b}.pp-kpi-card--plan .pp-kpi-card__value{color:#6366f1}.pp-kpi-card--total .pp-kpi-card__value{color:var(--bs-body-color)}.pp-tabs{border-bottom:2px solid var(--bs-border-color);display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;padding-bottom:0}.pp-tab-btn{background:none;border:none;border-bottom:3px solid #0000;border-radius:0;color:var(--bs-secondary-color);cursor:pointer;font-family:var(--font-sans);font-size:.95rem;font-weight:600;margin-bottom:-2px;padding:.75rem 1.25rem;transition:color .2s,border-color .2s}.pp-tab-btn:hover{color:var(--bs-body-color)}.pp-tab-btn--active{border-bottom-color:#6366f1;border-bottom-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.pp-project-overview{grid-gap:1rem;align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);box-shadow:var(--shadow-card);display:grid;gap:1rem;grid-template-columns:1fr auto;margin-bottom:2rem;padding:1.5rem 2rem}.pp-project-overview h2{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:1.3rem;font-weight:700;margin-bottom:.3rem}.pp-project-overview p{color:var(--bs-secondary-color);font-size:.9rem;margin:0}.pp-overview-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.pp-progress-bar-wrap{width:180px}.pp-progress-bar-label{color:var(--bs-secondary-color);font-size:.78rem;margin-bottom:.25rem;text-align:right}.pp-progress-bar{background:var(--bs-border-color);border-radius:99px;height:8px;overflow:hidden}.pp-progress-bar-fill{background:linear-gradient(90deg,#6366f1,#22c55e);border-radius:99px;height:100%;transition:width .5s ease}.pp-overview-stats{display:flex;font-size:.82rem;gap:1rem}.pp-overview-stat{align-items:center;display:flex;flex-direction:column;gap:.15rem}.pp-overview-stat strong{font-size:1.2rem;font-weight:700}.pp-overview-stat span{color:var(--bs-secondary-color)}.pp-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.pp-filter-btn{background:none;border:1px solid var(--bs-border-color);border-radius:99px;color:var(--bs-secondary-color);cursor:pointer;font-family:var(--font-sans);font-size:.82rem;font-weight:500;padding:.3rem .9rem;transition:all .2s}.pp-filter-btn:hover{border-color:var(--accent);color:var(--accent)}.pp-filter-btn--active{background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#fff}.pp-tier{margin-bottom:2.5rem}.pp-tier-header{align-items:center;border-bottom:1px solid var(--bs-border-color);display:flex;gap:.75rem;margin-bottom:1rem;padding-bottom:.6rem}.pp-tier-header h3{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:1.05rem;font-weight:700;margin:0}.pp-tier-count{background:#0000000d;background:var(--bs-tertiary-bg,#0000000d);border-radius:99px;color:var(--bs-secondary-color);font-size:.78rem;font-weight:600;padding:.1rem .6rem}.pp-collapse-toggle{align-items:center;background:none;border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);color:var(--bs-body-color);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:.92rem;font-weight:600;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1.25rem;text-align:left;transition:background .2s;width:100%}.pp-collapse-toggle:hover{background:#0000000a;background:var(--bs-tertiary-bg,#0000000a)}.pp-collapse-chevron{transition:transform .2s}.pp-collapse-chevron--open{transform:rotate(180deg)}.pp-feature-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media (max-width:900px){.pp-feature-grid{grid-template-columns:1fr}}.pp-feature-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .2s,transform .2s}.pp-feature-card:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-1px)}.pp-feature-card--done{border-left:4px solid #22c55e;opacity:.85}.pp-feature-card--planned{border-left:4px solid #6366f1}.pp-feature-card--critical{border-left:4px solid #dc2626}.pp-feature-card--high{border-left:4px solid #ea580c}.pp-feature-card--medium{border-left:4px solid #ca8a04}.pp-feature-card--low{border-left:4px solid #2563eb}.pp-feature-card-header{align-items:flex-start;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:1rem 1.25rem .75rem;-webkit-user-select:none;user-select:none}.pp-feature-card-title{align-items:flex-start;display:flex;flex:1 1;gap:.6rem}.pp-feature-icon{flex-shrink:0;font-size:1.3rem;line-height:1;margin-top:.05rem}.pp-feature-name{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:.93rem;font-weight:700;line-height:1.3}.pp-feature-desc{color:var(--bs-secondary-color);font-size:.83rem;line-height:1.45;margin-top:.25rem}.pp-feature-badges{align-items:flex-start;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.pp-status-badge{align-items:center;border-radius:99px;display:inline-flex;font-size:.72rem;font-weight:600;gap:.3rem;padding:.2rem .6rem;white-space:nowrap}.pp-status-badge--done{background:#22c55e26;color:#16a34a}.pp-status-badge--inprog{background:#f59e0b26;color:#d97706}.pp-status-badge--planned{background:#6366f126;color:#6366f1}.pp-priority-badge--critical{background:#dc26261f;color:#dc2626}.pp-priority-badge--high{background:#ea580c1f;color:#ea580c}.pp-priority-badge--medium{background:#ca8a041f;color:#b45309}.pp-priority-badge--low{background:#2563eb1f;color:#2563eb}.pp-feature-body{animation:pp-fade-in .2s ease;border-top:1px solid var(--bs-border-color);padding:0 1.25rem 1.25rem}@keyframes pp-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pp-criteria-section,.pp-stories-section{margin-top:1rem}.pp-section-label{color:var(--bs-secondary-color);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.pp-story{color:var(--bs-body-color);display:flex;font-size:.83rem;gap:.5rem;line-height:1.45;margin-bottom:.35rem}.pp-story-icon{flex-shrink:0;margin-top:.05rem}.pp-criterion{color:var(--bs-body-color);display:flex;font-size:.83rem;gap:.5rem;line-height:1.45;margin-bottom:.3rem}.pp-criterion-icon{color:#22c55e;flex-shrink:0}.pp-phase-timeline{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.pp-phase-item{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);box-shadow:var(--shadow-card);cursor:pointer;display:flex;gap:1rem;overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:box-shadow .2s,transform .2s}.pp-phase-item:hover{box-shadow:0 4px 18px #0000001a;transform:translateY(-1px)}.pp-phase-dot{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.3rem;font-weight:700;height:44px;justify-content:center;width:44px}.pp-phase-content{flex:1 1}.pp-phase-content h4{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:.97rem;font-weight:700;margin-bottom:.3rem}.pp-phase-content p{color:var(--bs-secondary-color);font-size:.83rem;line-height:1.5;margin:0}.pp-phase-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.4rem}.pp-phase-timeline-tag{background:#0000000f;background:var(--bs-tertiary-bg,#0000000f);border-radius:99px;color:var(--bs-secondary-color);font-size:.75rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.pp-phase-target{color:var(--bs-secondary-color);font-size:.78rem;text-align:right}.pp-phase-body{animation:pp-fade-in .2s ease;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:0 0 12px 12px;border-radius:0 0 var(--radius-card,12px) var(--radius-card,12px);border-top:none;margin-top:-1px;padding:0 1.5rem 1.25rem 4.5rem}.pp-phase-checklist{display:flex;flex-direction:column;gap:.3rem;list-style:none;margin:0;padding:.75rem 0 0}.pp-phase-checklist li{color:var(--bs-body-color);display:flex;font-size:.84rem;gap:.5rem}.pp-phase-checklist li:before{color:#6366f1;color:var(--accent,#6366f1);content:"▸";flex-shrink:0}.pp-coverage-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:2rem}.pp-coverage-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1rem 1.25rem}.pp-coverage-name{font-size:.85rem;font-weight:600;margin-bottom:.5rem}.pp-coverage-bar-wrap{align-items:center;display:flex;gap:.5rem}.pp-coverage-bar{background:var(--bs-border-color);border-radius:99px;flex:1 1;height:8px;overflow:hidden}.pp-coverage-bar-fill{border-radius:99px;height:100%;transition:width .5s ease}.pp-coverage-pct{font-size:.82rem;font-weight:700;min-width:3.5rem;text-align:right}@media (max-width:768px){.pp-page{padding:1.25rem 1rem 3rem}.pp-project-overview{grid-template-columns:1fr}.pp-overview-meta{align-items:flex-start}.pp-progress-bar-wrap{width:100%}.pp-phase-body{padding-left:1.25rem}}.pp-root{display:flex;flex-direction:column;gap:1.5rem}.pp-card,.pp-hero{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:18px;box-shadow:0 14px 40px #0f172a14}.pp-hero{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);padding:1.5rem}.pp-eyebrow{align-items:center;background:#6366f11a;border-radius:999px;color:#6366f1;display:inline-flex;font-size:.8rem;font-weight:700;gap:.45rem;margin-bottom:.9rem;padding:.35rem .75rem}.pp-title{font-size:clamp(1.9rem,2.5vw,2.5rem);font-weight:800;margin:0 0 .65rem}.pp-subtitle{color:var(--bs-secondary-color);line-height:1.6;margin:0;max-width:70ch}.pp-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.15rem}.pp-stats{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pp-stat{background:#6366f10a;border:1px solid var(--bs-border-color);border-radius:14px;padding:1rem}.pp-stat-value{font-size:1.65rem;font-weight:800;margin-bottom:.2rem}.pp-stat-label{color:var(--bs-secondary-color);font-size:.8rem}.pp-grid,.pp-projects{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.pp-project-card{padding:1.15rem}.pp-project-name{font-size:1rem;font-weight:800}.pp-project-summary{color:var(--bs-secondary-color);font-size:.86rem;line-height:1.6;margin:.55rem 0 .9rem}.pp-bullets{color:var(--bs-secondary-color);display:flex;flex-direction:column;font-size:.83rem;gap:.45rem;margin:0;padding-left:1rem}.pp-section{padding:1.15rem}.pp-section-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.pp-section-title{font-size:1rem;font-weight:800}.pp-section-subtitle{color:var(--bs-secondary-color);font-size:.82rem}.pp-pill{border-radius:999px;font-size:.72rem;font-weight:800;padding:.25rem .6rem}.pp-pill.success{background:#10b9811f;color:#10b981}.pp-pill.info{background:#2563eb1f;color:#2563eb}.pp-pill.muted{background:#94a3b824;color:#64748b}.pp-items{display:flex;flex-direction:column;gap:.8rem}.pp-item{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:14px;padding:.9rem}.pp-item-head{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.45rem}.pp-item-title{font-size:.93rem;font-weight:700}.pp-item-meta{color:#6366f1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.74rem;margin-top:.22rem}.pp-status{border-radius:999px;font-size:.68rem;font-weight:800;padding:.2rem .55rem;white-space:nowrap}.pp-status.live{background:#10b9811f;color:#10b981}.pp-status.mvp{background:#f59e0b24;color:#d97706}.pp-status.next{background:#2563eb1f;color:#2563eb}.pp-status.active{background:#6366f11f;color:#6366f1}.pp-status.building{background:#f59e0b24;color:#d97706}.pp-status.ready{background:#10b9811f;color:#10b981}.pp-status.planned{background:#94a3b824;color:#64748b}.pp-item-detail{color:var(--bs-secondary-color);font-size:.84rem;line-height:1.55;margin:0}.pp-recent{padding:1.15rem}.pp-recent-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pp-recent-item{background:linear-gradient(180deg,#10b9810d,#0000);border:1px solid var(--bs-border-color);border-radius:14px;padding:.95rem}.pp-recent-title{font-weight:700;margin-bottom:.35rem}.pp-recent-detail{color:var(--bs-secondary-color);font-size:.84rem;line-height:1.55;margin:0}@media (max-width:1100px){.pp-grid,.pp-hero,.pp-projects,.pp-recent-grid{grid-template-columns:1fr}}@media (max-width:640px){.pp-stats{grid-template-columns:1fr 1fr}}.ci-setup{max-width:820px;padding:1.75rem 2.5rem 4rem}.ci-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:2rem}.ci-header-icon{flex-shrink:0;font-size:2.4rem;line-height:1}.ci-title{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .25rem}.ci-subtitle{color:var(--bs-secondary-color);font-size:.9375rem;margin:0}.ci-steps{gap:0;margin-bottom:2rem}.ci-step,.ci-steps{align-items:center;display:flex}.ci-step{flex:1 1;gap:8px}.ci-step-num{align-items:center;background:var(--bs-body-bg);border:2px solid var(--bs-border-color);border-radius:50%;color:var(--bs-secondary-color);display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:28px;justify-content:center;transition:all .2s;width:28px}.ci-step.active .ci-step-num{background:#6366f11a;background:var(--accent-light,#6366f11a);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.ci-step.done .ci-step-num{background:#10b981;border-color:#10b981;color:#fff}.ci-step-label{color:var(--bs-secondary-color);font-size:.8rem;font-weight:600;white-space:nowrap}.ci-step.active .ci-step-label{color:var(--bs-body-color)}.ci-step.done .ci-step-label{color:#10b981}.ci-step-line{background:var(--bs-border-color);flex:1 1;height:2px;margin:0 8px}.ci-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:12px;margin-bottom:1rem;padding:1.5rem}.ci-card-title{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.25rem}.ci-ecosystem-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:1.5rem}.ci-eco-btn{align-items:flex-start;background:var(--bs-body-bg);border:2px solid var(--bs-border-color);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:1rem;text-align:left;transition:all .15s}.ci-eco-btn:hover{background:#6366f10d;background:var(--accent-light,#6366f10d)}.ci-eco-btn.selected,.ci-eco-btn:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.ci-eco-btn.selected{background:#6366f11a;background:var(--accent-light,#6366f11a)}.ci-eco-icon{font-size:1.5rem}.ci-eco-label{color:var(--bs-body-color);font-size:.875rem;font-weight:700}.ci-eco-desc{color:var(--bs-secondary-color);font-size:.72rem}.ci-form{gap:1.25rem;margin-bottom:1.5rem}.ci-field,.ci-form{display:flex;flex-direction:column}.ci-field{gap:.35rem}.ci-label{font-size:.875rem;font-weight:600}.ci-hint{color:var(--bs-secondary-color);font-size:.75rem;margin:0}.font-mono{font-family:monospace;font-family:var(--font-mono,monospace);font-size:.85rem!important}.ci-actions{align-items:center;display:flex;gap:.5rem;margin-top:1rem}.ci-callout{align-items:flex-start;background:#fbbf2414;border:1px solid #fbbf244d;border-radius:10px;display:flex;font-size:.875rem;gap:.75rem;line-height:1.55;margin-bottom:1.25rem;padding:1rem 1.25rem}.ci-callout-icon{flex-shrink:0;font-size:1.1rem;margin-top:1px}.ci-yaml-header{align-items:center;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-bottom:none;border-radius:10px 10px 0 0;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem;justify-content:space-between;padding:.6rem 1rem}.ci-yaml-badge{background:#6366f11a;background:var(--accent-light,#6366f11a);border-radius:99px;color:#6366f1;color:var(--accent,#6366f1);font-size:.72rem;font-weight:600;padding:1px 7px}.ci-yaml-actions{align-items:center;display:flex}.ci-yaml-block{background:#0f172a;border:1px solid var(--bs-border-color);border-radius:0 0 10px 10px;color:#e2e8f0;font-family:monospace;font-family:var(--font-mono,monospace);font-size:.78rem;line-height:1.7;margin:0;max-height:420px;overflow-x:auto;overflow-y:auto;padding:1.25rem 1.5rem}.ci-yaml-block code{background:none;color:inherit;font-size:inherit;padding:0;white-space:pre}.ci-steps-explained{display:flex;flex-direction:column;gap:1rem}.ci-explained-item{align-items:flex-start;display:flex;gap:.75rem}.ci-explained-icon{flex-shrink:0;font-size:1.3rem;text-align:center;width:32px}.ci-explained-title{font-size:.875rem;font-weight:700;margin-bottom:2px}.ci-explained-desc{color:var(--bs-secondary-color);font-size:.8rem;line-height:1.5}.webhook-settings{max-width:900px}.webhook-list{display:flex;flex-direction:column;gap:12px}.webhook-card{align-items:center;background:#f8f9fa;background:var(--bs-secondary-bg,#f8f9fa);border:1px solid var(--bs-border-color);border-radius:10px;display:flex;gap:16px;padding:16px 20px}.webhook-card-icon{flex-shrink:0;font-size:1.6rem;text-align:center;width:40px}.webhook-card-body{flex:1 1;min-width:0}.webhook-card-name{color:var(--bs-body-color);font-size:.95rem;font-weight:600}.webhook-card-url{color:var(--bs-secondary-color);font-size:.8rem;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.webhook-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.webhook-card-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.badge-event{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:10px;color:var(--bs-secondary-color);font-size:.7rem;padding:2px 7px}.badge-status-ok{background:#d4edda;border-radius:10px;color:#155724;font-size:.75rem;padding:2px 8px}.dark .badge-status-ok{background:#28a74533;color:#6fcf97}.badge-status-err{background:#f8d7da;border-radius:10px;color:#721c24;font-size:.75rem;padding:2px 8px}.dark .badge-status-err{background:#e74c3c33;color:#e07070}.badge-inactive{background:var(--bs-tertiary-bg);border-radius:10px;color:var(--bs-secondary-color);font-size:.75rem;padding:2px 8px}.webhook-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.webhook-modal{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color);border-radius:14px;box-shadow:0 20px 60px #0006;box-shadow:var(--shadow-elevated,0 20px 60px #0006);max-width:540px;opacity:1;padding:28px;width:100%}.webhook-modal h3{color:var(--bs-body-color);font-size:1.1rem;margin:0 0 20px}.webhook-form-group{margin-bottom:16px}.webhook-form-group label{color:var(--bs-secondary-color);display:block;font-size:.82rem;font-weight:600;letter-spacing:.03em;margin-bottom:5px;text-transform:uppercase}.webhook-form-group input,.webhook-form-group select{background:#fff;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color);border-radius:7px;box-sizing:border-box;color:var(--bs-body-color);font-size:.9rem;padding:8px 12px;width:100%}.webhook-form-group input:focus,.webhook-form-group select:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);outline:none}.events-checkboxes{display:flex;flex-direction:column;gap:6px}.events-checkboxes label{align-items:center;color:var(--bs-secondary-color);cursor:pointer;display:flex;font-size:.88rem;font-weight:400;gap:8px;letter-spacing:0;text-transform:none}.webhook-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.deliveries-panel{border-top:1px solid var(--bs-border-color);margin-top:8px;padding-top:12px}.delivery-row{align-items:center;border-bottom:1px dashed var(--bs-border-color);color:var(--bs-secondary-color);display:flex;font-size:.82rem;gap:10px;padding:5px 0}.delivery-row:last-child{border-bottom:none}.toggle-switch{flex-shrink:0;height:20px;position:relative;width:36px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:var(--bs-border-color);border-radius:20px;cursor:pointer;inset:0;position:absolute;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:#6366f1;background:var(--accent,#6366f1)}.toggle-slider:before{background:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;transition:.2s;width:14px}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(16px)}.rule-editor-page{padding:1.75rem 2.5rem 4rem}.rule-editor-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.rule-editor-topbar .rule-name{color:var(--bs-body-color);font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:1.1rem;font-weight:600}.rule-editor-topbar .badge-severity{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.badge-critical{background:#dc3545;color:#fff}.badge-high{background:#fd7e14;color:#fff}.badge-medium{background:#ffc107;color:#212529}.badge-low{background:#0d6efd;color:#fff}.badge-info{background:#6c757d;color:#fff}.rule-editor-topbar .btn-group-actions{display:flex;gap:6px;margin-left:auto}.rule-editor-split{display:flex;gap:16px;min-height:500px}.rule-editor-left,.rule-editor-right{display:flex;flex:1 1;flex-direction:column;min-width:0}.rule-editor-right{gap:16px}@media (max-width:991px){.rule-editor-split{flex-direction:column}}.code-editor-wrapper{border:1px solid #333;border-radius:8px;flex:1 1;overflow:hidden;position:relative}.code-editor-wrapper.has-error{border-color:#dc3545;box-shadow:0 0 0 2px #dc354526}.code-editor-container{display:flex;height:100%;min-height:460px;position:relative;width:100%}.code-editor-lines{background:#1a1a1a;border-right:1px solid #333;color:#858585;min-width:44px;overflow:hidden;padding:16px 8px 16px 4px;text-align:right;-webkit-user-select:none;user-select:none;width:44px}.code-editor-highlight,.code-editor-lines,.code-editor-textarea{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.6}.code-editor-highlight,.code-editor-textarea{word-wrap:normal;border:none;flex:1 1;margin:0;overflow:auto;overflow-wrap:normal;padding:16px;tab-size:2;white-space:pre}.code-editor-highlight{background:#1e1e1e;bottom:0;color:#d4d4d4;left:44px;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.code-editor-textarea{background:#0000;caret-color:#d4d4d4;color:#0000;min-height:100%;outline:none;position:relative;resize:none;width:100%;z-index:1}.code-editor-textarea::selection{background:#264f7899;color:#0000}.code-editor-highlight .kw{color:#569cd6}.code-editor-highlight .concept{color:#4ec9b0}.code-editor-highlight .str{color:#ce9178}.code-editor-highlight .cmt{color:#6a9955;font-style:italic}.code-editor-highlight .num{color:#b5cea8}.rule-preview-card{border-radius:8px}.rule-preview-card .preview-row{border-bottom:1px solid #0000000f;display:flex;font-size:.875rem;gap:8px;padding:6px 0}.rule-preview-card .preview-row:last-child{border-bottom:none}.rule-preview-card .preview-label{color:#6c757d;flex-shrink:0;font-weight:600;min-width:100px}.rule-preview-card .preview-value{color:var(--bs-body-color);word-break:break-word}.rule-preview-card .preview-value .badge{margin-bottom:2px;margin-right:4px}.rule-query-block{background:#1e1e1e;border-radius:6px;color:#d4d4d4;font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;max-height:200px;overflow-y:auto;padding:12px;white-space:pre-wrap}.validation-errors{max-height:160px;overflow-y:auto}.validation-errors .list-group-item{font-size:.825rem;padding:6px 12px}.rule-template-section{margin-top:16px}.rule-template-section .form-select{max-width:360px}.concept-browser-card{font-size:.825rem}.concept-browser-card .concept-category{margin-bottom:8px}.concept-browser-card .concept-category-label{color:#6c757d;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.concept-browser-card .concept-tag{background:#4ec9b01f;border:1px solid #4ec9b033;border-radius:4px;color:#4ec9b0;cursor:pointer;display:inline-block;font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:.75rem;margin:2px 3px 2px 0;padding:2px 8px;transition:background .15s}.concept-browser-card .concept-tag:hover{background:#4ec9b040}[data-bs-theme=dark] .rule-preview-card{background:#212529;border-color:#495057}[data-bs-theme=dark] .rule-preview-card .preview-label{color:#adb5bd}[data-bs-theme=dark] .validation-errors .list-group-item{background:#2c2c2c;border-color:#495057;color:#f8d7da}[data-bs-theme=dark] .concept-browser-card{background:#212529;border-color:#495057}[data-bs-theme=dark] .code-editor-wrapper{border-color:#495057}[data-bs-theme=dark] .rule-template-section .form-select{background-color:#212529;border-color:#495057;color:#e9ecef}.rule-editor-run{border-top:1px solid #dee2e6;padding-top:1rem}.rule-editor-run .form-control{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:.85rem}.scan-results{max-height:400px;overflow-y:auto}.scan-results table{font-size:.85rem}.scan-results .file-path{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:.8rem;word-break:break-all}.scan-results .line-number{font-family:JetBrains Mono,Menlo,Consolas,monospace;white-space:nowrap}.severity-badge{font-size:.7rem;font-weight:600;text-transform:uppercase}.vigil-scan{padding:1.75rem 2.5rem 4rem}.vigil-header h2{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans)}.vigil-shield-icon{font-size:1.3em}.vigil-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem;transition:box-shadow var(--transition)}.vigil-input{border-radius:var(--radius-sm)!important;font-family:var(--font-sans);transition:border-color var(--transition),box-shadow var(--transition)}.vigil-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.vigil-packs{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.vigil-pack-check{align-items:center;cursor:pointer;display:flex;font-size:.9rem}.vigil-pack-check input[type=checkbox]{accent-color:var(--accent);height:16px;width:16px}.vigil-btn-start{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:1.05rem;font-weight:600;padding:.65rem 2rem;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.vigil-btn-start:hover{background:var(--accent-hover);box-shadow:0 4px 14px #6366f159;color:#fff;transform:translateY(-1px)}.vigil-btn-start:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.vigil-btn-outline{background:#0000;border:1px solid var(--accent);border-radius:var(--radius-xs);color:var(--accent-text);font-size:.82rem;font-weight:500;padding:.3rem .75rem;transition:background var(--transition),color var(--transition)}.vigil-btn-outline:hover{background:var(--accent);color:#fff}.vigil-table{font-family:var(--font-sans);font-size:.88rem}.vigil-table th{border-bottom-width:2px;color:var(--bs-secondary-color);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.vigil-table td{vertical-align:middle}.font-mono{font-family:var(--font-mono)!important;font-size:.84rem}.vigil-badge-critical{background:#dc2626!important;color:#fff}.vigil-badge-high{background:#ea580c!important;color:#fff}.vigil-badge-warning{background:#ca8a04!important;color:#fff;font-size:.82rem}.vigil-conf-high{background:#dc2626;color:#fff}.vigil-conf-medium{background:#ca8a04;color:#fff}.vigil-conf-low{background:#6b7280;color:#fff}.vigil-progress-card{padding:2.5rem 1.5rem}.vigil-shield-anim{display:inline-block;font-size:4rem}.vigil-status-text{color:var(--accent-text);font-family:var(--font-sans);font-size:1.15rem;font-weight:600;min-height:1.8em}.vigil-phases{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.vigil-phase{align-items:center;display:flex;flex-direction:column;gap:.35rem;opacity:.35;transition:opacity .3s ease}.vigil-phase.active,.vigil-phase.done{opacity:1}.vigil-phase-num{align-items:center;border:2px solid var(--bs-border-color);border-radius:50%;display:flex;font-family:var(--font-sans);font-size:.85rem;font-weight:700;height:36px;justify-content:center;transition:all .3s ease;width:36px}.vigil-phase.active .vigil-phase-num{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);color:var(--accent)}.vigil-phase.done .vigil-phase-num{background:var(--accent);border-color:var(--accent);color:#fff}.vigil-phase-label{color:var(--bs-secondary-color);font-size:.78rem;font-weight:500}.vigil-log-card{overflow:hidden;padding:0}.vigil-log-header{align-items:center;background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border-bottom:1px solid var(--bs-border-color);display:flex;padding:.6rem 1rem}.vigil-log-dot{border-radius:50%;height:12px;margin-right:6px;width:12px}.vigil-log-dot.red{background:#ef4444}.vigil-log-dot.yellow{background:#f59e0b}.vigil-log-dot.green{background:#22c55e}.vigil-log-body{background:#0f172a;color:#cbd5e1;font-family:var(--font-mono);font-size:.82rem;line-height:1.65;max-height:320px;overflow-y:auto;padding:1rem 1.25rem;scroll-behavior:smooth}.vigil-log-line{white-space:pre-wrap;word-break:break-all}.vigil-log-line.warning{color:#fbbf24}.vigil-log-line.error{color:#f87171}.vigil-log-line.complete{color:#34d399}.vigil-log-tag{border-radius:3px;display:inline-block;font-size:.7rem;font-weight:700;margin-right:6px;padding:1px 6px;text-transform:uppercase}.vigil-log-tag.warning{background:#fbbf2433;color:#fbbf24}.vigil-log-tag.error{background:#f8717133;color:#f87171}.vigil-log-tag.complete{background:#34d39933;color:#34d399}.vigil-cursor{color:var(--accent);display:inline-block}.vigil-summary-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}.vigil-sev-card{background:var(--sev-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);overflow:hidden;padding:1.25rem 1rem;position:relative;text-align:center;transition:transform var(--transition),box-shadow var(--transition)}.vigil-sev-card:before{background:var(--sev-color);content:"";height:3px;left:0;position:absolute;right:0;top:0}.vigil-sev-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vigil-sev-icon{font-size:1.4rem;margin-bottom:.25rem}.vigil-sev-count{color:var(--sev-color);font-family:var(--font-sans);font-size:2.2rem;font-weight:800;line-height:1.1}.vigil-sev-label{color:var(--bs-secondary-color);font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-top:.25rem;text-transform:uppercase}.vigil-chart-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.vigil-chart-card{position:relative}.vigil-donut-center{left:50%;pointer-events:none;position:absolute;text-align:center;top:calc(50% - 10px);transform:translate(-50%,-50%)}.vigil-donut-total{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));display:block;font-family:var(--font-sans);font-size:1.75rem;font-weight:800}.vigil-donut-label{color:var(--bs-secondary-color);display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.vigil-filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}.vigil-chip{background:#0000;border:1px solid var(--bs-border-color);border-radius:20px;color:var(--bs-body-color);cursor:pointer;font-size:.82rem;font-weight:500;padding:.3rem .85rem;transition:all var(--transition)}.vigil-chip:hover{color:var(--accent);color:var(--chip-color,var(--accent))}.vigil-chip.active,.vigil-chip:hover{border-color:var(--chip-color,var(--accent))}.vigil-chip.active{background:var(--accent);background:var(--chip-color,var(--accent));color:#fff}.vigil-findings-table tbody tr{transition:background var(--transition)}.vigil-findings-table tbody tr:hover{background:var(--accent-light)}.vigil-finding-row{border-left:3px solid #0000}.vigil-finding-row-critical{border-left-color:#dc2626}.vigil-finding-row-high{border-left-color:#ea580c}.vigil-finding-row-medium{border-left-color:#ca8a04}.vigil-finding-row-low{border-left-color:#2563eb}.vigil-finding-row-info{border-left-color:#6b7280}.vigil-finding-row.expanded{background:var(--accent-light)}.vigil-msg-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vigil-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.vigil-sortable:hover{color:var(--accent-text)}.vigil-expanded-content{display:flex;flex-direction:column;font-size:.88rem;gap:.35rem;padding:.75rem 0}.vigil-expanded-content code{background:var(--accent-light);border-radius:4px;color:var(--accent-text);font-family:var(--font-mono);font-size:.84rem;padding:1px 5px}.vigil-meta-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.vigil-meta-grid code{font-family:var(--font-mono);font-size:.84rem;word-break:break-all}.vigil-results-layout{align-items:flex-start;display:flex;gap:1rem}.vigil-file-tree{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-direction:column;max-height:calc(100vh - 2rem);min-width:260px;overflow:hidden;position:sticky;top:1rem;width:260px}.vigil-file-tree-header{align-items:center;border-bottom:1px solid var(--bs-border-color);display:flex;justify-content:space-between;padding:.75rem 1rem}.vigil-file-tree-clear{background:none;border:none;border-radius:var(--radius-xs);color:var(--accent);cursor:pointer;font-size:.78rem;padding:.15rem .4rem}.vigil-file-tree-clear:hover{background:var(--accent-light)}.vigil-file-tree-body{flex:1 1;overflow-y:auto;padding:.5rem 0}.vigil-file-tree-dir{align-items:center;color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:.35rem;padding:.3rem .5rem;transition:background var(--transition)}.vigil-file-tree-dir:hover{background:var(--accent-light)}.vigil-file-tree-file{align-items:center;color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.8rem;gap:.35rem;padding:.25rem .5rem;transition:background var(--transition)}.vigil-file-tree-file.active,.vigil-file-tree-file:hover{background:var(--accent-light)}.vigil-file-tree-file.active{border-right:3px solid var(--accent);font-weight:600}.vigil-tree-arrow{color:var(--bs-secondary-color);flex-shrink:0;font-size:.7rem;text-align:center;width:12px}.vigil-tree-icon{flex-shrink:0;font-size:.85rem}.vigil-tree-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vigil-tree-count{background:var(--accent-light);border-radius:10px;color:var(--accent-text);flex-shrink:0;font-size:.7rem;font-weight:700;padding:1px 6px}.vigil-tree-sev-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.vigil-findings-area{flex:1 1;min-width:0}.vigil-detail-panel{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem}.vigil-code-block{border:1px solid #ffffff14;border-radius:8px;overflow:hidden}.vigil-code-header{background:#181825;border-bottom:1px solid #ffffff0f;color:#94a3b8;padding:.5rem 1rem}.vigil-code-pre{background:#1e1e2e;font-family:var(--font-mono);font-size:.84rem;line-height:1.7;margin:0;overflow-x:auto;padding:.75rem 0}.vigil-code-line{display:flex;min-height:1.7em;padding:0 1rem}.vigil-code-highlight{background:#ffffff0a;border-left:3px solid #0000}.vigil-code-highlight-critical{background:#dc26261a;border-left-color:#dc2626}.vigil-code-highlight-high{background:#ea580c1a;border-left-color:#ea580c}.vigil-code-highlight-medium{background:#ca8a041a;border-left-color:#ca8a04}.vigil-code-highlight-low{background:#2563eb1a;border-left-color:#2563eb}.vigil-code-highlight-info{background:#6b72801a;border-left-color:#6b7280}.vigil-line-num{color:#4a5568;flex-shrink:0;min-width:3.5em;padding-right:1em;text-align:right;-webkit-user-select:none;user-select:none}.vigil-line-content{color:#e2e8f0;white-space:pre}.vigil-detail-meta{grid-gap:.5rem 1.5rem;display:grid;gap:.5rem 1.5rem;grid-template-columns:1fr 1fr}.vigil-detail-meta-item{display:flex;flex-direction:column;gap:.15rem}.vigil-detail-label{color:var(--bs-secondary-color);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.vigil-meta-badge{border-radius:12px;color:#fff;display:inline-block;font-size:.78rem;font-weight:600;padding:.15rem .6rem;text-decoration:none;width:-moz-fit-content;width:fit-content}.vigil-cwe-badge{background:#7c3aed;cursor:pointer}.vigil-cwe-badge:hover{background:#6d28d9;color:#fff}.vigil-owasp-badge{background:#0891b2}.vigil-detail-tags{display:flex;flex-wrap:wrap;gap:.4rem}.vigil-detail-message,.vigil-fix-box{color:var(--bs-body-color);font-size:.88rem}.vigil-fix-box{background:#22c55e14;border:1px solid #22c55e33;border-radius:var(--radius-sm);display:flex;gap:.75rem;padding:.75rem 1rem}.vigil-fix-icon{flex-shrink:0;font-size:1.2rem}.vigil-copy-btn{background:none;border:1px solid var(--bs-border-color);border-radius:var(--radius-xs);color:var(--bs-body-color);cursor:pointer;font-size:.78rem;line-height:1;padding:.1rem .4rem;transition:all var(--transition)}.vigil-copy-btn:hover{background:var(--accent-light);border-color:var(--accent)}.vigil-filter-rule-btn{background:none;border:none;color:var(--bs-secondary-color);cursor:pointer;font-size:.72rem;line-height:1;opacity:.4;padding:0 .25rem;transition:opacity var(--transition);vertical-align:middle}.vigil-filter-rule-btn:hover{color:var(--accent);opacity:1}.vigil-rule-link{color:var(--accent-text);font-size:.84rem;text-decoration:none}.vigil-rule-link:hover{color:var(--accent);text-decoration:underline}.vigil-file-filter-indicator{align-items:center;background:var(--accent-light);border-radius:var(--radius-sm);display:flex;font-size:.84rem;padding:.4rem .75rem}.vigil-top-files-list{display:flex;flex-direction:column;gap:.5rem}.vigil-top-file-item{align-items:center;border-radius:var(--radius-xs);cursor:pointer;display:flex;gap:.75rem;padding:.35rem .5rem;transition:background var(--transition)}.vigil-top-file-item:hover{background:var(--accent-light)}.vigil-top-file-name{flex-shrink:0;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:140px}.vigil-top-file-bar-wrap{background:var(--bs-border-color);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.vigil-top-file-bar{display:flex;height:100%}.vigil-top-file-bar-seg{height:100%}.vigil-top-file-count{color:var(--bs-body-color);font-size:.82rem;font-weight:700;min-width:24px;text-align:right}.vigil-rule-coverage{align-items:center;display:flex;flex-direction:column;gap:.75rem}.vigil-rule-coverage-stat{text-align:center}.vigil-rule-coverage-num{color:var(--accent-text);display:block;font-family:var(--font-sans);font-size:2rem;font-weight:800;line-height:1.1}.vigil-rule-coverage-label{color:var(--bs-secondary-color);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}.vigil-rule-coverage-bar-wrap{background:var(--bs-border-color);border-radius:5px;height:10px;overflow:hidden;width:100%}.vigil-rule-coverage-bar{background:var(--accent);border-radius:5px;height:100%;transition:width .6s ease}@media (max-width:992px){.vigil-summary-row{grid-template-columns:repeat(3,1fr)}.vigil-chart-row{grid-template-columns:1fr}.vigil-results-layout{flex-direction:column}.vigil-file-tree{max-height:300px;min-width:100%;position:static;width:100%}.vigil-detail-meta{grid-template-columns:1fr}}@media (max-width:576px){.vigil-summary-row{grid-template-columns:repeat(2,1fr)}.vigil-phases{gap:.5rem}.vigil-meta-grid{grid-template-columns:1fr}}[data-bs-theme=dark] .vigil-log-body{background:#0a0e1a;color:#94a3b8}[data-bs-theme=dark] .vigil-sev-card{border-color:#ffffff14}[data-bs-theme=dark] .vigil-chip{border-color:#ffffff1f}[data-bs-theme=dark] .vigil-expanded-content code{background:#6366f126}[data-bs-theme=dark] .vigil-code-block{border-color:#ffffff0f}[data-bs-theme=dark] .vigil-file-tree{border-color:#ffffff14}[data-bs-theme=dark] .vigil-copy-btn{border-color:#ffffff1f}[data-bs-theme=dark] .vigil-fix-box{background:#22c55e0d;border-color:#22c55e26}[data-bs-theme=dark] .vigil-file-filter-indicator{background:#6366f11a}[data-bs-theme=dark] .vigil-rule-coverage-bar-wrap,[data-bs-theme=dark] .vigil-top-file-bar-wrap{background:#ffffff14}.vigil-investigate-section{border-top:1px solid #6366f11f;margin-top:1rem;padding-top:.75rem}.vigil-investigate-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.45rem 1.1rem;transition:box-shadow .2s,transform .15s}.vigil-investigate-btn:hover{box-shadow:0 0 16px #6366f173;transform:translateY(-1px)}.vigil-retry-btn{font-size:.78rem;margin-left:.75rem;padding:.3rem .8rem}.vigil-investigation-loading{align-items:center;color:#6366f1;display:flex;font-size:.85rem;font-weight:500;gap:.6rem;padding:.75rem 0}.vigil-pulse-dot{animation:vigilPulse 1.2s ease-in-out infinite;background:#6366f1;border-radius:50%;height:10px;width:10px}@keyframes vigilPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.vigil-investigation-error{align-items:center;color:#dc2626;display:flex;font-size:.84rem;padding:.5rem 0}.vigil-investigation{background:#fff;border-left:4px solid #6366f1;border-radius:10px;box-shadow:0 2px 12px #6366f114;margin-top:.75rem;padding:1rem 1.25rem}.vigil-investigation-title{color:#4338ca;font-size:.92rem;font-weight:700;margin:0 0 .6rem}.vigil-investigation-summary{background:#6366f10a;border-left:3px solid #6366f140;border-radius:6px;font-size:.84rem;line-height:1.55;margin-bottom:.75rem;padding:.65rem .85rem}.vigil-investigation-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.vigil-exploitability-badge,.vigil-priority-badge{border-radius:9999px;color:#fff;display:inline-block;font-size:.76rem;font-weight:600;padding:.2rem .7rem}.vigil-exploit-high{background:#dc2626}.vigil-exploit-medium{background:#d97706}.vigil-exploit-low{background:#16a34a}.vigil-exploit-none{background:#6b7280}.vigil-priority-p0{background:#dc2626}.vigil-priority-p1{background:#ea580c}.vigil-priority-p2{background:#d97706}.vigil-priority-p3{background:#16a34a}.vigil-investigation-dataflow{margin-bottom:.75rem}.vigil-investigation-dataflow strong{display:block;font-size:.8rem;margin-bottom:.3rem}.vigil-dataflow-pre{background:#1e1b4b;border-radius:8px;color:#c7d2fe;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem;overflow-x:auto;padding:.65rem .85rem;white-space:pre-wrap}.vigil-fp-assessment{border-radius:8px;font-size:.84rem;margin-bottom:.75rem;padding:.65rem .85rem}.vigil-fp-assessment strong{display:block;font-size:.8rem;margin-bottom:.25rem}.vigil-fp-likely{background:#16a36a0f;border-left:3px solid #16a34a}.vigil-fp-real{background:#dc26260f;border-left:3px solid #dc2626}.vigil-fp-verdict{display:inline-block;font-weight:600;margin-bottom:.2rem}.vigil-fp-reasoning{line-height:1.5;margin:.25rem 0 0;opacity:.85}.vigil-investigation-fix{margin-bottom:.75rem}.vigil-investigation-fix strong{display:block;font-size:.8rem;margin-bottom:.3rem}.vigil-investigation-fix p{font-size:.84rem;margin:0 0 .4rem}.vigil-investigation-fix-code{background:#1a1a2e;border-left:4px solid #22c55e;border-radius:8px;color:#a5f3c4;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem;overflow-x:auto;padding:.65rem .85rem;white-space:pre-wrap}.vigil-investigation-cwes{font-size:.82rem;margin-bottom:.75rem}.vigil-investigation-meta{border-top:1px solid #6366f114;display:flex;font-size:.72rem;gap:.4rem;opacity:.7;padding-top:.5rem}[data-bs-theme=dark] .vigil-investigation{background:#1e1b4b73;box-shadow:0 2px 12px #00000040}[data-bs-theme=dark] .vigil-investigation-title{color:#a5b4fc}[data-bs-theme=dark] .vigil-investigation-summary{background:#6366f114;border-left-color:#6366f159}[data-bs-theme=dark] .vigil-fp-likely{background:#16a36a14}[data-bs-theme=dark] .vigil-fp-real{background:#dc262614}[data-bs-theme=dark] .vigil-investigation-error{color:#fca5a5}[data-bs-theme=dark] .vigil-investigate-section{border-top-color:#6366f12e}[data-bs-theme=dark] .vigil-investigation-meta{border-top-color:#6366f126}.vigil-checkbox-col{text-align:center;vertical-align:middle;width:36px}.vigil-checkbox-col input[type=checkbox]{accent-color:#7c3aed;cursor:pointer;height:16px;width:16px}.vigil-triage-bar{align-items:center;background:linear-gradient(135deg,#7c3aed,#6366f1 50%,#818cf8);border-radius:8px;border-radius:var(--radius-card,8px);box-shadow:0 4px 16px #7c3aed59;color:#fff;display:flex;font-size:.88rem;font-weight:500;gap:.75rem;padding:.65rem 1rem;position:sticky;top:0;z-index:10}.vigil-triage-bar-text{flex:1 1}.vigil-triage-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;padding:.4rem 1rem;transition:background .2s,transform .15s;transition:background var(--transition,.2s),transform .15s}.vigil-triage-btn:hover{background:#ffffff59;transform:translateY(-1px)}.vigil-triage-clear-btn{background:none;border:none;color:#ffffffbf;cursor:pointer;font-size:.82rem;padding:.2rem .5rem;text-decoration:underline}.vigil-triage-clear-btn:hover{color:#fff}.vigil-triage-loading{align-items:center;background:linear-gradient(135deg,#7c3aed14,#6366f114);border:1px solid #7c3aed33;border-radius:8px;border-radius:var(--radius-card,8px);color:#7c3aed;display:flex;font-size:.88rem;font-weight:500;gap:.6rem;padding:.75rem 1rem}.vigil-triage-error{align-items:center;background:#dc26260f;border:1px solid #dc262633;border-radius:8px;border-radius:var(--radius-card,8px);color:#dc2626;display:flex;font-size:.85rem;gap:.6rem;padding:.65rem 1rem}.vigil-triage-error .vigil-triage-clear-btn{color:#dc2626}.vigil-triage-panel{background:linear-gradient(135deg,#7c3aed0a,#6366f10a);border:1px solid #7c3aed33;border-radius:8px;border-radius:var(--radius-card,8px);padding:1rem}.vigil-triage-panel-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.vigil-triage-panel-header h6{flex:1 1;margin:0}.vigil-triage-panel-header .vigil-triage-clear-btn{color:#6b7280;color:var(--bs-body-color,#6b7280);opacity:.6}.vigil-triage-panel-meta{display:flex;gap:.3rem}.vigil-triage-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.vigil-triage-stat-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:600;gap:.3rem;padding:.3rem .7rem}.vigil-triage-stat-escalate{background:#dc26261a;color:#dc2626}.vigil-triage-stat-alert{background:#eab3081a;color:#b45309}.vigil-triage-stat-suppress{background:#16a34a1a;color:#16a34a}.vigil-triage-stat-group{background:#2563eb1a;color:#2563eb}.vigil-triage-stat-fp{background:#ea580c1a;color:#ea580c}.vigil-triage-bulk-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.vigil-triage-counter{color:#6b7280;color:var(--bs-secondary-color,#6b7280);font-size:.82rem;margin-left:.5rem}.vigil-triage-filters{display:flex;flex-wrap:wrap;gap:.35rem}.vigil-triage-filter-btn{background:#0000;border:1px solid #dee2e6;border:1px solid var(--bs-border-color,#dee2e6);border-radius:20px;color:#495057;color:var(--bs-body-color,#495057);cursor:pointer;font-size:.78rem;padding:.25rem .7rem;transition:all .2s;transition:all var(--transition,.2s)}.vigil-triage-filter-btn:hover{border-color:#7c3aed;color:#7c3aed}.vigil-triage-filter-btn.active{background:#7c3aed;border-color:#7c3aed;color:#fff}.vigil-triage-badge{align-items:center;border-radius:12px;cursor:default;display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;margin-left:.4rem;padding:.15rem .5rem;vertical-align:middle}.vigil-triage-conf{font-size:.65rem;font-weight:400;opacity:.75}.vigil-triage-badge--escalate{background:#dc26261f;color:#dc2626}.vigil-triage-badge--alert{background:#eab3081f;color:#b45309}.vigil-triage-badge--suppress{background:#16a34a1f;color:#16a34a}.vigil-triage-badge--group{background:#2563eb1f;color:#2563eb}.vigil-triage-badge--fp{background:#ea580c26;color:#ea580c;margin-left:.25rem}.vigil-triage-actions{display:inline-flex;gap:.2rem;margin-left:.5rem;vertical-align:middle}.vigil-triage-accept-btn,.vigil-triage-reject-btn{background:#0000;border:1px solid #0000;border-radius:4px;cursor:pointer;font-size:.75rem;line-height:1;padding:.1rem .4rem;transition:all .15s;transition:all var(--transition,.15s)}.vigil-triage-accept-btn{color:#16a34a}.vigil-triage-accept-btn:hover{background:#16a34a1a;border-color:#16a34a4d}.vigil-triage-reject-btn{color:#dc2626}.vigil-triage-reject-btn:hover{background:#dc26261a;border-color:#dc26264d}.vigil-triage-status{display:inline-block;font-size:.72rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.vigil-triage-status--accepted{color:#16a34a}.vigil-triage-status--rejected{color:#dc2626;opacity:.7}.vigil-finding--suppressed{opacity:.45}.vigil-finding--suppressed,.vigil-finding--suppressed td{text-decoration:line-through}.vigil-finding--escalated{background:#dc26260a!important;border-left:3px solid #dc2626!important}[data-bs-theme=dark] .vigil-triage-bar{background:linear-gradient(135deg,#5b21b6,#4f46e5 50%,#6366f1);box-shadow:0 4px 16px #5b21b666}[data-bs-theme=dark] .vigil-triage-panel{background:linear-gradient(135deg,#5b21b614,#4f46e514);border-color:#7c3aed40}[data-bs-theme=dark] .vigil-triage-loading{background:linear-gradient(135deg,#5b21b61f,#4f46e51f);border-color:#7c3aed40;color:#a78bfa}[data-bs-theme=dark] .vigil-triage-filter-btn{border-color:#ffffff1f;color:#ffffffb3}[data-bs-theme=dark] .vigil-triage-filter-btn:hover{border-color:#a78bfa;color:#a78bfa}[data-bs-theme=dark] .vigil-triage-filter-btn.active{background:#7c3aed;border-color:#7c3aed;color:#fff}[data-bs-theme=dark] .vigil-finding--escalated{background:#dc262614!important}[data-bs-theme=dark] .vigil-triage-error{background:#dc262614;border-color:#dc262640;color:#fca5a5}.vigil-profile-cards{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.vigil-profile-card{background:#fafafa;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;flex:1 1;max-width:200px;min-width:140px;padding:16px 12px;position:relative;text-align:center;transition:all .2s}.vigil-profile-card:hover{background:#f0f4ff;border-color:#4a6cf7}.vigil-profile-card--active{background:#eef2ff;border-color:#4a6cf7;box-shadow:0 0 12px #4a6cf733}.vigil-profile-card__icon{font-size:28px;margin-bottom:8px}.vigil-profile-card__name{color:#1a1a2e;font-size:14px;font-weight:600}.vigil-profile-card__desc{color:#888;font-size:11px;line-height:1.3;margin-top:4px}.vigil-profile-card__check{align-items:center;background:#4a6cf7;border-radius:50%;color:#fff;display:flex;font-size:12px;height:20px;justify-content:center;position:absolute;right:8px;top:8px;width:20px}.vigil-category-badge{border-radius:4px;display:inline-block;font-size:10px;font-weight:600;margin-left:8px;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.vigil-category-badge--security{background:#ef44441f;color:#dc2626}.vigil-category-badge--quality{background:#3b82f61f;color:#2563eb}.vigil-category-badge--compliance{background:#8b5cf61f;color:#7c3aed}.vigil-category-badge--infrastructure{background:#14b8a61f;color:#0d9488}.vigil-category-filters{display:flex;flex-wrap:wrap;gap:8px}.vigil-category-filter-btn{background:#fafafa;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.vigil-category-filter-btn:hover{border-color:#999;color:#333}.vigil-category-filter-btn--active{background:#4a6cf714;border-color:#4a6cf7;color:#4a6cf7;font-weight:600}[data-bs-theme=dark] .vigil-profile-card{background:#1a1d25;border-color:#2a2d35}[data-bs-theme=dark] .vigil-profile-card:hover{background:#1e2230;border-color:#4a6cf7}[data-bs-theme=dark] .vigil-profile-card--active{background:#1e2230;border-color:#4a6cf7;box-shadow:0 0 12px #4a6cf74d}[data-bs-theme=dark] .vigil-profile-card__name{color:#e0e0e0}[data-bs-theme=dark] .vigil-category-badge--security{background:#ef444426;color:#ef4444}[data-bs-theme=dark] .vigil-category-badge--quality{background:#3b82f626;color:#3b82f6}[data-bs-theme=dark] .vigil-category-badge--compliance{background:#8b5cf626;color:#8b5cf6}[data-bs-theme=dark] .vigil-category-badge--infrastructure{background:#14b8a626;color:#14b8a6}[data-bs-theme=dark] .vigil-category-filter-btn{background:#1a1d25;border-color:#333;color:#aaa}[data-bs-theme=dark] .vigil-category-filter-btn:hover{border-color:#555;color:#ddd}[data-bs-theme=dark] .vigil-category-filter-btn--active{background:#4a6cf726;border-color:#4a6cf7;color:#fff}.vigil-scan-banner{align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;gap:1.25rem;padding:1rem 1.5rem}.vigil-scan-banner-grade{align-items:center;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.8rem;font-weight:900;height:56px;justify-content:center;letter-spacing:-1px;width:56px}.vigil-scan-banner-info{flex:1 1}.vigil-scan-banner-path{color:var(--bs-body-color);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.9rem;font-weight:600;margin-bottom:.25rem}.vigil-scan-banner-meta{align-items:center;color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;font-size:.82rem;gap:.5rem}.vigil-banner-sep{opacity:.4}.vigil-scan-banner-actions{flex-shrink:0}[data-bs-theme=dark] .vigil-scan-banner{border-color:#ffffff14}.vigil-elapsed-time{align-items:center;display:flex;font-size:.85rem;gap:.35rem;justify-content:center}.vigil-elapsed-label{color:var(--bs-secondary-color)}.vigil-elapsed-value{color:#6366f1;color:var(--accent-text,#6366f1);font-weight:600}.vigil-row-count{color:var(--bs-secondary-color);font-size:.82rem}.vigil-findings-table thead th{background:var(--bs-body-bg);position:sticky;top:0;z-index:2}.vigil-engine-selector{display:flex;flex-wrap:wrap;gap:.5rem}.vigil-engine-btn{align-items:center;background:#ffffff0a;border:1.5px solid #ffffff1f;border-radius:8px;color:#e5e7eb;color:var(--vigil-text,#e5e7eb);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:.4rem;padding:.4rem .9rem;transition:border-color .15s,background .15s}.vigil-engine-btn:hover{background:#6366f114;border-color:#6366f180}.vigil-engine-btn--active{background:#6366f126;border-color:#6366f1;color:#a5b4fc;font-weight:600}.vigil-engine-btn__icon{font-size:1rem;line-height:1}.vigil-engine-btn__label{font-family:JetBrains Mono,monospace;font-size:.78rem}.vigil-engine-hint{background:#6366f114;border-left:3px solid #6366f1;border-radius:6px;color:#9ca3af;color:var(--vigil-text-secondary,#9ca3af);font-size:.78rem;line-height:1.5;margin-top:.5rem;padding:.4rem .75rem}.vigil-engine-hint strong{color:#a5b4fc}.vigil-engine-hint code{background:#ffffff14;border-radius:3px;font-family:JetBrains Mono,monospace;font-size:.75rem;padding:.05rem .3rem}.vigil-pack-groups{background:var(--bs-body-bg);border:1.5px solid var(--bs-border-color);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:.25rem;max-height:420px;overflow-y:auto;padding:.5rem}.vigil-pack-select-all{border-bottom:1.5px solid var(--bs-border-color);margin-bottom:.25rem;padding:.375rem .5rem}.vigil-pack-group{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:8px;margin-bottom:.125rem;overflow:hidden}.vigil-pack-group-header{align-items:center;cursor:pointer;display:flex;gap:.5rem;padding:.375rem .625rem;transition:background var(--transition);-webkit-user-select:none;user-select:none}.vigil-pack-group-header:hover{background:var(--bs-secondary-bg)}.vigil-pack-group-icon{font-size:.9rem}.vigil-pack-group-label{color:var(--bs-body-color);flex:1 1;font-size:.8125rem;font-weight:650}.vigil-pack-group-count{font-feature-settings:"tnum";background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:100px;color:var(--bs-secondary-color);font-size:.7rem;font-variant-numeric:tabular-nums;padding:.1rem .45rem}.vigil-pack-group-arrow{color:var(--bs-secondary-color);font-size:.75rem;text-align:center;width:14px}.vigil-pack-group-items{background:var(--bs-body-bg);border-top:1px solid var(--bs-border-color);display:flex;flex-direction:column;gap:.125rem;padding:.25rem .5rem .375rem 2rem}.vigil-pack-item{border-radius:5px;font-size:.8rem;padding:.2rem .25rem}.vigil-pack-item:hover{background:var(--bs-tertiary-bg)}.vrb{padding:1.75rem 2.5rem 4rem}.vrb-header{margin-bottom:1.5rem}.vrb-header h2{align-items:center;color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));display:flex;font-family:var(--font-sans);font-weight:700;gap:.5rem;margin:0}.vrb-header p{color:var(--bs-secondary-color);font-size:.9rem;margin:.25rem 0 0}.vrb-shield{font-size:1.3em}.vrb-stats-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.vrb-stat-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;padding:1.25rem 1rem;position:relative;text-align:center;transition:transform var(--transition),box-shadow var(--transition)}.vrb-stat-card:before{background:var(--accent);content:"";height:3px;left:0;position:absolute;right:0;top:0}.vrb-stat-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vrb-stat-icon{font-size:1.4rem;margin-bottom:.25rem}.vrb-stat-value{color:var(--accent-text);font-family:var(--font-sans);font-size:2.2rem;font-weight:800;line-height:1.1}.vrb-stat-label{color:var(--bs-secondary-color);font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-top:.25rem;text-transform:uppercase}.vrb-filters{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.vrb-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.vrb-search{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);color:var(--bs-body-color);flex:1 1;font-family:var(--font-sans);font-size:.9rem;min-width:200px;padding:.5rem .75rem;transition:border-color var(--transition),box-shadow var(--transition)}.vrb-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.vrb-select{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);color:var(--bs-body-color);cursor:pointer;font-family:var(--font-sans);font-size:.84rem;padding:.4rem .6rem}.vrb-select:focus{border-color:var(--accent);outline:none}.vrb-chips{display:flex;flex-wrap:wrap;gap:.4rem}.vrb-chip{align-items:center;background:#0000;border:1px solid var(--bs-border-color);border-radius:20px;color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:.35rem;padding:.28rem .75rem;transition:all var(--transition)}.vrb-chip:hover{color:var(--accent);color:var(--chip-color,var(--accent))}.vrb-chip.active,.vrb-chip:hover{border-color:var(--chip-color,var(--accent))}.vrb-chip.active{background:var(--accent);background:var(--chip-color,var(--accent));color:#fff}.vrb-chip-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.vrb-fw-chip{background:#0000;border:1px solid var(--fw-color,var(--bs-border-color));border-radius:20px;color:var(--bs-body-color);color:var(--fw-color,var(--bs-body-color));cursor:pointer;font-size:.78rem;font-weight:600;padding:.25rem .7rem;transition:all var(--transition)}.vrb-fw-chip.active,.vrb-fw-chip:hover{background:var(--accent);background:var(--fw-color,var(--accent));border-color:var(--fw-color,var(--accent));color:#fff}.vrb-tag-cloud{display:flex;flex-wrap:wrap;gap:.35rem}.vrb-tag{background:#0000;border:1px solid var(--bs-border-color);border-radius:4px;color:var(--bs-secondary-color);cursor:pointer;font-size:.72rem;font-weight:500;padding:.15rem .5rem;transition:all var(--transition)}.vrb-tag:hover{border-color:var(--accent);color:var(--accent-text)}.vrb-tag.active{background:var(--accent);border-color:var(--accent);color:#fff}.vrb-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.vrb-pack-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;padding:1.25rem;position:relative;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.vrb-pack-card:hover{border-color:var(--accent);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vrb-pack-card.expanded{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.vrb-pack-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.vrb-pack-name{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans);font-size:1.05rem;font-weight:700;margin:0}.vrb-pack-version{background:var(--accent-light);border-radius:10px;color:var(--accent-text);font-size:.7rem;font-weight:600;padding:.15rem .5rem;white-space:nowrap}.vrb-pack-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--bs-secondary-color);display:-webkit-box;font-size:.85rem;line-height:1.45;margin:0 0 .75rem;overflow:hidden}.vrb-pack-count{background:var(--accent);border-radius:10px;color:#fff;font-size:.72rem;font-weight:700;line-height:1;padding:.2rem .55rem;position:absolute;right:.75rem;top:.75rem}.vrb-heatmap{background:var(--bs-border-color);border-radius:2px;display:flex;height:4px;margin-bottom:.75rem;overflow:hidden}.vrb-heatmap-seg{height:100%;transition:width .4s ease}.vrb-heatmap-critical{background:#dc2626}.vrb-heatmap-high{background:#ea580c}.vrb-heatmap-medium{background:#ca8a04}.vrb-heatmap-low{background:#2563eb}.vrb-heatmap-info{background:#6b7280}.vrb-lang-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.vrb-lang-badge{border-radius:8px;color:#fff;font-size:.68rem;font-weight:600;line-height:1.3;padding:.12rem .45rem}.vrb-lang-go{background:#06b6d4}.vrb-lang-java{background:#ea580c}.vrb-lang-python{background:#2563eb}.vrb-lang-javascript{background:#ca8a04}.vrb-lang-typescript{background:#3b82f6}.vrb-lang-c,.vrb-lang-cpp{background:#6b7280}.vrb-lang-dockerfile{background:#2563eb}.vrb-lang-yaml{background:#8b5cf6}.vrb-lang-hcl{background:#7c3aed}.vrb-pack-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.vrb-pack-tag{border:1px solid var(--bs-border-color);border-radius:4px;color:var(--bs-secondary-color);font-size:.68rem;font-weight:500;padding:.1rem .4rem}.vrb-fw-badges{display:flex;flex-wrap:wrap;gap:.3rem}.vrb-fw-badge{border-radius:8px;color:#fff;font-size:.68rem;font-weight:700;padding:.12rem .45rem}.vrb-fw-eucra{background:#7c3aed}.vrb-fw-pcidss{background:#dc2626}.vrb-fw-owasp{background:#ea580c}.vrb-fw-asvs{background:#0891b2}.vrb-fw-soc2{background:#059669}.vrb-expanded-panel{background:var(--bs-body-bg);border:1px solid var(--accent);border-radius:var(--radius-card);box-shadow:0 0 0 2px var(--accent-light);grid-column:1/-1;overflow:hidden;padding:1.25rem}.vrb-rules-table{border-collapse:collapse;font-family:var(--font-sans);font-size:.85rem;width:100%}.vrb-rules-table th{border-bottom:2px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:.5rem .6rem;text-align:left;text-transform:uppercase}.vrb-rules-table td{border-bottom:1px solid var(--bs-border-color);padding:.55rem .6rem;vertical-align:middle}.vrb-rules-table tbody tr{cursor:pointer;transition:background var(--transition)}.vrb-rules-table tbody tr:hover{background:var(--accent-light)}.vrb-sev-dot{align-items:center;display:inline-flex;font-size:.82rem;font-weight:600;gap:.35rem;text-transform:capitalize}.vrb-sev-dot:before{border-radius:50%;content:"";flex-shrink:0;height:8px;width:8px}.vrb-sev-dot.critical:before{background:#dc2626}.vrb-sev-dot.high:before{background:#ea580c}.vrb-sev-dot.medium:before{background:#ca8a04}.vrb-sev-dot.low:before{background:#2563eb}.vrb-sev-dot.info:before{background:#6b7280}.vrb-rule-id{color:var(--accent-text);font-family:var(--font-mono);font-size:.82rem}.vrb-conf-badge{border-radius:8px;color:#fff;font-size:.72rem;font-weight:600;padding:.12rem .45rem}.vrb-conf-high{background:#dc2626}.vrb-conf-medium{background:#ca8a04}.vrb-conf-low{background:#6b7280}.vrb-cwe-badge{background:var(--accent-light);border-radius:4px;color:var(--accent-text);font-size:.72rem;font-weight:600;padding:.1rem .4rem;text-decoration:none;transition:background var(--transition)}.vrb-cwe-badge:hover{background:var(--accent);color:#fff}.vrb-owasp-badge{background:#ea580c1f;border-radius:4px;color:#ea580c;font-size:.72rem;font-weight:600;padding:.1rem .4rem}.vrb-drawer-backdrop{background:#00000073;inset:0;position:fixed;z-index:1000}.vrb-drawer{background:#fff;border-left:1px solid #e5e7eb;bottom:0;box-shadow:-8px 0 40px #0000002e;display:flex;flex-direction:column;max-width:95vw;overflow-y:auto;position:fixed;right:0;top:0;width:440px;z-index:1001}.vrb-drawer-header{align-items:flex-start;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem;position:sticky;top:0;z-index:1}.vrb-drawer-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-mono);font-size:1rem;font-weight:700;word-break:break-all}.vrb-drawer-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.vrb-drawer-close{align-items:center;background:#0000;border:1px solid var(--bs-border-color);border-radius:8px;color:var(--bs-body-color);cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:32px;justify-content:center;transition:all var(--transition);width:32px}.vrb-drawer-close:hover{background:var(--accent);border-color:var(--accent);color:#fff}.vrb-drawer-body{color:#1f2937;flex:1 1;padding:1.5rem}.vrb-drawer-section{margin-bottom:1.5rem}.vrb-drawer-section h4{border-bottom:1px solid #e5e7eb;color:#6b7280;font-family:var(--font-sans);font-size:.78rem;font-weight:700;letter-spacing:.06em;margin:0 0 .65rem;padding-bottom:.35rem;text-transform:uppercase}.vrb-drawer-badges-row{display:flex;flex-wrap:wrap;gap:.35rem}.vrb-dsl-block{background:#0f172a;border-radius:var(--radius-card);color:#cbd5e1;font-family:var(--font-mono);font-size:.82rem;line-height:1.65;overflow-x:auto;padding:1rem 1.25rem;white-space:pre-wrap;word-break:break-all}.vrb-dsl-keyword{color:#818cf8;font-weight:700}.vrb-dsl-concept{color:#34d399;font-weight:600}.vrb-dsl-string{color:#fbbf24}.vrb-dsl-comment{color:#475569;font-style:italic}.vrb-message-box{background:var(--accent-light);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm)}.vrb-fix-box,.vrb-message-box{color:var(--bs-body-color);font-size:.88rem;line-height:1.55;padding:.75rem 1rem}.vrb-fix-box{background:#22c55e0f;border:1px solid #22c55e33;border-radius:var(--radius-sm)}.vrb-fix-box code,.vrb-message-box code{background:var(--accent-light);border-radius:4px;color:var(--accent-text);font-family:var(--font-mono);font-size:.84rem;padding:1px 5px}.vrb-excluded-paths{display:flex;flex-wrap:wrap;gap:.3rem}.vrb-excluded-path{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:4px;color:var(--bs-secondary-color);font-family:var(--font-mono);font-size:.78rem;padding:.15rem .45rem}.vrb-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1rem}.vrb-spinner{animation:vrb-spin .7s linear infinite;border:3px solid var(--bs-border-color);border-radius:50%;border-top-color:var(--accent);height:36px;width:36px}@keyframes vrb-spin{to{transform:rotate(1turn)}}.vrb-empty{color:var(--bs-secondary-color);font-size:.95rem;padding:3rem 1rem;text-align:center}@media (max-width:992px){.vrb-grid,.vrb-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.vrb-stats-row{grid-template-columns:repeat(2,1fr)}.vrb-grid{grid-template-columns:1fr}.vrb-filter-row{align-items:stretch;flex-direction:column}.vrb-drawer{width:100vw}}[data-bs-theme=dark] .vrb-pack-card{border-color:#ffffff14}[data-bs-theme=dark] .vrb-pack-card:hover{border-color:var(--accent)}[data-bs-theme=dark] .vrb-filters,[data-bs-theme=dark] .vrb-stat-card{border-color:#ffffff14}[data-bs-theme=dark] .vrb-chip,[data-bs-theme=dark] .vrb-pack-tag,[data-bs-theme=dark] .vrb-tag{border-color:#ffffff1f}[data-bs-theme=dark] .vrb-expanded-panel{border-color:var(--accent)}[data-bs-theme=dark] .vrb-dsl-block{background:#0a0e1a;color:#94a3b8}[data-bs-theme=dark] .vrb-drawer{background:#0f1117;border-left-color:#ffffff1a;box-shadow:-8px 0 40px #0000008c}[data-bs-theme=dark] .vrb-drawer-header{background:#161b27;border-bottom-color:#ffffff14}[data-bs-theme=dark] .vrb-drawer-close{border-color:#ffffff1f;color:#cbd5e1}[data-bs-theme=dark] .vrb-drawer-body{color:#e2e8f0}[data-bs-theme=dark] .vrb-drawer-section h4{border-bottom-color:#ffffff14;color:#94a3b8}[data-bs-theme=dark] .vrb-drawer-title{color:#f1f5f9}[data-bs-theme=dark] .vrb-cwe-badge{background:#6366f126}[data-bs-theme=dark] .vrb-owasp-badge{background:#ea580c26}[data-bs-theme=dark] .vrb-message-box{background:#6366f114}[data-bs-theme=dark] .vrb-fix-box{background:#22c55e14;border-color:#22c55e26}[data-bs-theme=dark] .vrb-fix-box code,[data-bs-theme=dark] .vrb-message-box code{background:#6366f126}[data-bs-theme=dark] .vrb-excluded-path{background:#ffffff0a;border-color:#ffffff1a}.vigil-history{padding:1.75rem 2.5rem 4rem}.vigil-history-header h2{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans)}.vigil-history-header .vigil-history-subtitle{color:var(--bs-secondary-color);font-size:.9rem}.vigil-history-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.vigil-history-stat-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;padding:1.25rem 1rem;position:relative;text-align:center;transition:transform var(--transition),box-shadow var(--transition)}.vigil-history-stat-card:before{background:#6366f1;background:var(--stat-color,var(--accent,#6366f1));content:"";height:3px;left:0;position:absolute;right:0;top:0}.vigil-history-stat-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vigil-history-stat-icon{font-size:1.4rem;margin-bottom:.25rem}.vigil-history-stat-count{color:#6366f1;color:var(--stat-color,var(--accent,#6366f1));font-family:var(--font-sans);font-size:2.2rem;font-weight:800;line-height:1.1}.vigil-history-stat-label{color:var(--bs-secondary-color);font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-top:.25rem;text-transform:uppercase}.vigil-history-trend-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem}.vigil-history-trend-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans);font-size:1rem;font-weight:600;margin-bottom:1rem}.vigil-history-filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.vigil-history-search{border-radius:var(--radius-sm)!important;flex:1 1;font-family:var(--font-sans);min-width:200px;transition:border-color var(--transition),box-shadow var(--transition)}.vigil-history-search:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f126}.vigil-history-chips{display:flex;flex-wrap:wrap;gap:.5rem}.vigil-history-chip{background:#0000;border:1px solid var(--bs-border-color);border-radius:20px;color:var(--bs-body-color);cursor:pointer;font-size:.82rem;font-weight:500;padding:.3rem .85rem;transition:all var(--transition)}.vigil-history-chip:hover{color:#6366f1;color:var(--accent,#6366f1)}.vigil-history-chip.active,.vigil-history-chip:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.vigil-history-chip.active{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.vigil-history-table-wrapper{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:auto}.vigil-history-table{border-collapse:collapse;font-family:var(--font-sans);font-size:.88rem;width:100%}.vigil-history-table th{border-bottom:2px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.75rem;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.vigil-history-table th.sortable{cursor:pointer}.vigil-history-table th.sortable:hover{color:#6366f1;color:var(--accent,#6366f1)}.vigil-history-table td{border-bottom:1px solid var(--bs-border-color);padding:.65rem .75rem;vertical-align:middle}.vigil-history-table tbody tr{transition:background var(--transition)}.vigil-history-table tbody tr:nth-child(2n){background:#00000005;background:var(--bs-tertiary-bg,#00000005)}.vigil-history-table tbody tr:hover{background:#6366f10f}.vigil-history-status{align-items:center;border-radius:12px;display:inline-flex;font-size:.76rem;font-weight:600;gap:.3rem;padding:.2rem .65rem;text-transform:capitalize}.vigil-history-status-done{background:#22c55e1f;color:#16a34a}.vigil-history-status-failed{background:#dc26261f;color:#dc2626}.vigil-history-status-pending{background:#2563eb1f;color:#2563eb}.vigil-history-status-scanning{animation:vigil-pulse 1.5s ease-in-out infinite;background:#ca8a041f;color:#ca8a04}@keyframes vigil-pulse{0%,to{opacity:1}50%{opacity:.5}}.vigil-history-minibar{background:var(--bs-border-color);border-radius:2px;display:flex;height:4px;min-width:60px;overflow:hidden}.vigil-history-minibar-seg{height:100%;min-width:0}.vigil-history-actions{display:flex;gap:.4rem}.vigil-history-btn{background:#0000;border:1px solid #6366f1;border:1px solid var(--accent,#6366f1);border-radius:6px;border-radius:var(--radius-xs,6px);color:#6366f1;color:var(--accent,#6366f1);cursor:pointer;font-size:.78rem;font-weight:500;padding:.25rem .6rem;transition:background var(--transition),color var(--transition);white-space:nowrap}.vigil-history-btn:hover{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.vigil-history-btn-rerun{border-color:var(--bs-border-color);color:var(--bs-secondary-color)}.vigil-history-btn-rerun:hover{background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#fff}.vigil-history-btn-delete{border-color:#0000;color:var(--bs-secondary-color);padding:.25rem .45rem}.vigil-history-btn-delete:hover{background:#dc262614;border-color:#dc2626;color:#dc2626}.vigil-history-empty{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:3rem 1.5rem;text-align:center}.vigil-history-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.vigil-history-empty-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.vigil-history-empty-desc{color:var(--bs-secondary-color);font-size:.9rem;margin-bottom:1.25rem}.vigil-history-empty-btn{background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:.95rem;font-weight:600;padding:.6rem 1.5rem;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.vigil-history-empty-btn:hover{background:#4f46e5;background:var(--accent-hover,#4f46e5);box-shadow:0 4px 14px #6366f159;transform:translateY(-1px)}.vigil-history-sort-icon{display:inline-block;font-size:.7rem;margin-left:.25rem;opacity:.6}.vigil-history-loading{align-items:center;color:var(--bs-secondary-color);display:flex;font-size:.95rem;gap:.5rem;justify-content:center;padding:3rem}@media (max-width:992px){.vigil-history-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.vigil-history-stats{grid-template-columns:1fr}.vigil-history-filters{align-items:stretch;flex-direction:column}}[data-bs-theme=dark] .vigil-history-stat-card,[data-bs-theme=dark] .vigil-history-trend-card{border-color:#ffffff14}[data-bs-theme=dark] .vigil-history-chip{border-color:#ffffff1f}[data-bs-theme=dark] .vigil-history-table-wrapper{border-color:#ffffff14}[data-bs-theme=dark] .vigil-history-table th{border-bottom-color:#ffffff1a}[data-bs-theme=dark] .vigil-history-table td{border-bottom-color:#ffffff0f}[data-bs-theme=dark] .vigil-history-table tbody tr:nth-child(2n){background:#ffffff05}[data-bs-theme=dark] .vigil-history-table tbody tr:hover{background:#6366f11a}[data-bs-theme=dark] .vigil-history-status-done{background:#22c55e26}[data-bs-theme=dark] .vigil-history-status-failed{background:#dc262626}[data-bs-theme=dark] .vigil-history-status-pending{background:#2563eb26}[data-bs-theme=dark] .vigil-history-status-scanning{background:#ca8a0426}[data-bs-theme=dark] .vigil-history-empty{border-color:#ffffff14}[data-bs-theme=dark] .recharts-cartesian-axis-tick-value,[data-bs-theme=dark] .recharts-text{fill:#94a3b8}.vcb{padding:1.75rem 2.5rem 4rem}.vcb-header{margin-bottom:1.5rem}.vcb-header h2{align-items:center;color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));display:flex;font-family:var(--font-sans);font-weight:700;gap:.5rem;margin:0}.vcb-header p{color:var(--bs-secondary-color);font-size:.9rem;margin:.25rem 0 0}.vcb-icon{font-size:1.3em}.vcb-stats-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(6,1fr);margin-bottom:1.5rem}.vcb-stat-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;padding:1.25rem 1rem;position:relative;text-align:center;transition:transform var(--transition),box-shadow var(--transition)}.vcb-stat-card:before{content:"";height:3px;left:0;position:absolute;right:0;top:0}.vcb-stat-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vcb-stat-card--source:before{background:#3b82f6}.vcb-stat-card--sink:before{background:#ef4444}.vcb-stat-card--sanitizer:before{background:#22c55e}.vcb-stat-card--guard:before{background:#8b5cf6}.vcb-stat-card--crypto:before{background:#f59e0b}.vcb-stat-card--total:before{background:#6366f1;background:var(--accent,#6366f1)}.vcb-stat-icon{font-size:1.4rem;margin-bottom:.25rem}.vcb-stat-value{color:var(--accent-text);font-family:var(--font-sans);font-size:2.2rem;font-weight:800;line-height:1.1}.vcb-stat-label{color:var(--bs-secondary-color);font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-top:.25rem;text-transform:uppercase}.vcb-flow-toggle{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:1.5rem;overflow:hidden}.vcb-flow-header{align-items:center;color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));cursor:pointer;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.vcb-flow-header:hover{background:var(--accent-light)}.vcb-flow-chevron{font-size:.9rem;transition:transform .2s ease}.vcb-flow-chevron.open{transform:rotate(90deg)}.vcb-flow-diagram{flex-wrap:wrap;gap:0;padding:1.5rem}.vcb-flow-box,.vcb-flow-diagram{align-items:center;display:flex;justify-content:center}.vcb-flow-box{background:var(--bs-body-bg);border:2px solid;border-radius:12px;cursor:pointer;flex-direction:column;min-width:120px;padding:1rem 1.5rem;transition:transform var(--transition),box-shadow var(--transition)}.vcb-flow-box:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vcb-flow-box-label{font-size:.85rem;font-weight:700;margin-bottom:.25rem}.vcb-flow-box-count{font-family:var(--font-sans);font-size:1.5rem;font-weight:800}.vcb-flow-box--source{border-color:#3b82f6;color:#3b82f6}.vcb-flow-box--sink{border-color:#ef4444;color:#ef4444}.vcb-flow-box--sanitizer{border-color:#22c55e;color:#22c55e}.vcb-flow-box--guard{border-color:#8b5cf6;color:#8b5cf6}.vcb-flow-arrow{color:var(--bs-secondary-color);flex-shrink:0;font-size:1.5rem;font-weight:700;margin:0 .5rem}.vcb-flow-col{align-items:center;display:flex;flex-direction:column;gap:.5rem}.vcb-tabs{border-bottom:2px solid var(--bs-border-color);display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;padding-bottom:0}.vcb-tab{align-items:center;background:#0000;border:none;color:var(--bs-secondary-color);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:.85rem;font-weight:600;gap:.4rem;padding:.6rem 1rem;position:relative;transition:color var(--transition)}.vcb-tab.active,.vcb-tab:hover{color:var(--bs-body-color)}.vcb-tab.active{color:var(--bs-heading-color,var(--bs-body-color))}.vcb-tab.active:after{background:var(--accent);background:var(--tab-color,var(--accent));border-radius:3px 3px 0 0;bottom:-2px;content:"";height:3px;left:0;position:absolute;right:0}.vcb-tab-badge{background:var(--bs-border-color);border-radius:10px;color:var(--bs-secondary-color);font-size:.7rem;font-weight:700;line-height:1.3;padding:.1rem .45rem}.vcb-tab.active .vcb-tab-badge{background:var(--accent);background:var(--tab-color,var(--accent));color:#fff}.vcb-filters{border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:1.5rem;padding:1rem 1.25rem}.vcb-filters,.vcb-search{background:var(--bs-body-bg)}.vcb-search{border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);color:var(--bs-body-color);font-family:var(--font-sans);font-size:.9rem;padding:.5rem .75rem;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.vcb-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.vcb-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.vcb-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-left:4px solid var(--card-accent,var(--bs-border-color));border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;padding:1.25rem;position:relative;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.vcb-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vcb-card.expanded{border-color:var(--card-accent,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--card-accent,var(--accent)) 25%,#0000)}.vcb-card--source{--card-accent:#3b82f6}.vcb-card--sink{--card-accent:#ef4444}.vcb-card--sanitizer{--card-accent:#22c55e}.vcb-card--guard{--card-accent:#8b5cf6}.vcb-card--crypto{--card-accent:#f59e0b}.vcb-card--auth{--card-accent:#6366f1}.vcb-card--pii{--card-accent:#ec4899}.vcb-card--credentials{--card-accent:#f97316}.vcb-card-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.35rem}.vcb-card-id{color:var(--accent-text);color:var(--card-accent,var(--accent-text));font-family:var(--font-mono);font-size:.82rem;font-weight:600}.vcb-card-cat{border-radius:10px;color:#fff;font-size:.68rem;font-weight:700;padding:.12rem .5rem;text-transform:capitalize;white-space:nowrap}.vcb-cat-source{background:#3b82f6}.vcb-cat-sink{background:#ef4444}.vcb-cat-sanitizer{background:#22c55e}.vcb-cat-guard{background:#8b5cf6}.vcb-cat-crypto{background:#f59e0b}.vcb-cat-auth{background:#6366f1}.vcb-cat-pii{background:#ec4899}.vcb-cat-credentials{background:#f97316}.vcb-card-name{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans);font-size:1.05rem;font-weight:700;margin:0 0 .35rem}.vcb-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--bs-secondary-color);display:-webkit-box;font-size:.85rem;line-height:1.45;margin:0 0 .75rem;overflow:hidden}.vcb-card-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.vcb-card-tag{border:1px solid var(--bs-border-color);border-radius:4px;color:var(--bs-secondary-color);font-size:.68rem;font-weight:500;padding:.1rem .4rem}.vcb-card-expand-hint{color:var(--bs-secondary-color);font-size:.72rem;opacity:0;text-align:right;transition:opacity var(--transition)}.vcb-card:hover .vcb-card-expand-hint{opacity:1}.vcb-patterns-panel{border-top:1px solid var(--bs-border-color);margin-top:1rem;padding-top:1rem}.vcb-patterns-title{color:var(--bs-secondary-color);font-size:.78rem;font-weight:700;letter-spacing:.06em;margin:0 0 .75rem;text-transform:uppercase}.vcb-lang-section{margin-bottom:.75rem}.vcb-lang-header{border-radius:8px;color:#fff;display:inline-block;font-size:.72rem;font-weight:700;margin-bottom:.4rem;padding:.15rem .5rem}.vcb-lang-go{background:#06b6d4}.vcb-lang-java{background:#ea580c}.vcb-lang-python{background:#2563eb}.vcb-lang-javascript{background:#ca8a04}.vcb-lang-typescript{background:#3b82f6}.vcb-lang-c,.vcb-lang-cpp{background:#6b7280}.vcb-code-block{background:#0f172a;border-radius:var(--radius-card);color:#cbd5e1;font-family:var(--font-mono);font-size:.82rem;line-height:1.65;margin-bottom:.5rem;overflow-x:auto;padding:.75rem 1rem;white-space:pre-wrap;word-break:break-all}.vcb-copy-btn{align-items:center;background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.8rem;font-weight:600;gap:.35rem;margin-top:.25rem;padding:.4rem .85rem;transition:background var(--transition),transform var(--transition)}.vcb-copy-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.vcb-copy-btn.copied{background:#22c55e}.vcb-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 1rem}.vcb-spinner{animation:vcb-spin .7s linear infinite;border:3px solid var(--bs-border-color);border-radius:50%;border-top-color:var(--accent);height:36px;width:36px}@keyframes vcb-spin{to{transform:rotate(1turn)}}.vcb-empty{color:var(--bs-secondary-color);font-size:.95rem;padding:3rem 1rem;text-align:center}@media (max-width:1100px){.vcb-stats-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:992px){.vcb-stats-row{grid-template-columns:repeat(3,1fr)}.vcb-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.vcb-stats-row{grid-template-columns:repeat(2,1fr)}.vcb-grid{grid-template-columns:1fr}.vcb-tabs{gap:0}.vcb-tab{font-size:.78rem;padding:.5rem .6rem}.vcb-flow-diagram{flex-direction:column}.vcb-flow-arrow{transform:rotate(90deg)}}[data-bs-theme=dark] .vcb-card{border-color:#ffffff14;border-left-color:var(--card-accent,#ffffff14)}[data-bs-theme=dark] .vcb-card:hover{border-color:var(--card-accent,var(--accent));border-left-color:var(--card-accent,var(--accent))}[data-bs-theme=dark] .vcb-filters,[data-bs-theme=dark] .vcb-stat-card{border-color:#ffffff14}[data-bs-theme=dark] .vcb-card-tag{border-color:#ffffff1f}[data-bs-theme=dark] .vcb-code-block{background:#0a0e1a;color:#94a3b8}[data-bs-theme=dark] .vcb-flow-toggle{border-color:#ffffff14}[data-bs-theme=dark] .vcb-tabs{border-bottom-color:#ffffff1a}[data-bs-theme=dark] .vcb-patterns-panel{border-top-color:#ffffff1a}.vaq{padding:1.75rem 2.5rem 4rem}.vaq-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem}.vaq-header-icon{font-size:1.6rem}.vaq-header-icon,.vaq-header-text h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;background-clip:text}.vaq-header-text h2{font-family:var(--font-sans);font-size:1.4rem;margin:0}.vaq-header-text p{color:#64748b;color:var(--bs-secondary-color,#64748b);font-size:.88rem;margin:0}.vaq-split{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:3fr 2fr}@media (max-width:992px){.vaq-split{grid-template-columns:1fr}}.vaq-card{border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem;transition:box-shadow var(--transition)}.vaq-card,.vaq-textarea{background:var(--bs-body-bg)}.vaq-textarea{border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);color:var(--bs-body-color);font-family:var(--font-sans);font-size:.95rem;line-height:1.6;min-height:160px;padding:.85rem 1rem;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.vaq-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.vaq-textarea::placeholder{color:#94a3b8;color:var(--bs-secondary-color,#94a3b8)}.vaq-examples-label{color:#64748b;color:var(--bs-secondary-color,#64748b);font-size:.82rem;font-weight:600;letter-spacing:.04em;margin:1rem 0 .5rem;text-transform:uppercase}.vaq-chips{display:flex;flex-wrap:wrap;gap:.45rem}.vaq-chip{align-items:center;background:#0000;border:1px solid var(--bs-border-color);border-radius:999px;color:var(--bs-body-color);cursor:pointer;display:inline-flex;font-size:.8rem;gap:.3rem;padding:.3rem .75rem;transition:all var(--transition)}.vaq-chip:hover{background:#6366f1;border-color:#6366f1;color:#fff}.vaq-actions{align-items:center;display:flex;justify-content:space-between;margin-top:1.25rem}.vaq-btn-translate{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:1.05rem;font-weight:600;gap:.5rem;padding:.65rem 2rem;transition:opacity var(--transition),transform var(--transition),box-shadow var(--transition)}.vaq-btn-translate:hover:not(:disabled){box-shadow:0 4px 14px #6366f159;opacity:.92;transform:translateY(-1px)}.vaq-btn-translate:disabled{cursor:not-allowed;opacity:.5;transform:none}.vaq-dots{align-items:center;display:inline-flex;gap:3px}.vaq-dots span{animation:vaq-pulse 1.2s ease-in-out infinite;background:#fff;border-radius:50%;height:6px;width:6px}.vaq-dots span:nth-child(2){animation-delay:.2s}.vaq-dots span:nth-child(3){animation-delay:.4s}@keyframes vaq-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.vaq-provider-badge{background:#f1f5f9;background:var(--bs-tertiary-bg,#f1f5f9);border-radius:999px;color:#94a3b8;color:var(--bs-secondary-color,#94a3b8);font-size:.72rem;padding:.2rem .6rem;white-space:nowrap}.vaq-section-title{color:#64748b;color:var(--bs-secondary-color,#64748b);font-size:.82rem;font-weight:700;letter-spacing:.04em;margin:0 0 .6rem;text-transform:uppercase}.vaq-dsl-block{background:#1e1e2e;border-radius:var(--radius-card);color:#cbd5e1;font-family:var(--font-mono);font-size:.82rem;line-height:1.65;margin-bottom:1rem;overflow-x:auto;padding:1rem 1.25rem;white-space:pre-wrap;word-break:break-all}.vaq-dsl-keyword{color:#67e8f9;font-weight:700}.vaq-dsl-concept{color:#fb923c;font-weight:600}.vaq-dsl-string{color:#4ade80}.vaq-dsl-comment{color:#475569;font-style:italic}.vaq-dsl-flow{color:#c084fc;font-weight:700}.vaq-explanation{background:#6366f10f;background:var(--accent-light,#6366f10f);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);color:var(--bs-body-color);font-size:.88rem;line-height:1.55;margin-bottom:1rem;padding:.85rem 1rem}.vaq-result-btns{display:flex;gap:.5rem;margin-bottom:1.25rem}.vaq-btn-copy,.vaq-btn-run{align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);color:var(--bs-body-color);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.4rem .9rem;transition:all var(--transition)}.vaq-btn-copy:hover{border-color:#6366f1;color:#6366f1}.vaq-btn-copy.copied{border-color:#22c55e;color:#22c55e}.vaq-btn-run:disabled{cursor:not-allowed;opacity:.5}.vaq-history-title{align-items:center;color:#64748b;color:var(--bs-secondary-color,#64748b);display:flex;font-size:.82rem;font-weight:700;gap:.4rem;letter-spacing:.04em;margin:1.5rem 0 .6rem;text-transform:uppercase}.vaq-history-list{list-style:none;margin:0;padding:0}.vaq-history-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.82rem;gap:.5rem;padding:.45rem .6rem;text-align:left;transition:background var(--transition);width:100%}.vaq-history-item:hover{background:#6366f10f;background:var(--accent-light,#6366f10f)}.vaq-history-icon{color:#94a3b8;color:var(--bs-secondary-color,#94a3b8);flex-shrink:0;font-size:.78rem}.vaq-history-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vaq-error{background:#dc262614;border:1px solid #dc262640;border-radius:var(--radius-sm);color:#dc2626;font-size:.88rem;margin-bottom:1rem;padding:.75rem 1rem}.vaq-error a{color:#6366f1;text-decoration:underline}.vaq-empty{align-items:center;color:#94a3b8;color:var(--bs-secondary-color,#94a3b8);display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.vaq-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.vaq-empty-text{font-size:.88rem}.vaq-mode-tabs{background:#f1f5f9;background:var(--bs-tertiary-bg,#f1f5f9);border-radius:999px;display:flex;gap:.35rem;justify-content:center;margin-bottom:1rem;margin-left:auto;margin-right:auto;padding:.3rem;width:-moz-fit-content;width:fit-content}.vaq-mode-tab{align-items:center;background:#0000;border:none;border-radius:999px;color:#64748b;color:var(--bs-secondary-color,#64748b);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.88rem;font-weight:600;gap:.35rem;padding:.45rem 1.25rem;transition:all var(--transition)}.vaq-mode-tab:hover{color:var(--bs-body-color)}.vaq-mode-tab.active{background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 2px 8px #6366f14d;color:#fff}.vaq-target-bar{align-items:center;display:flex;gap:.75rem;margin-bottom:1.25rem}.vaq-target-label{color:#64748b;color:var(--bs-secondary-color,#64748b);font-size:.82rem;font-weight:600;white-space:nowrap}.vaq-target-input{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);color:var(--bs-body-color);flex:1 1;font-family:var(--font-mono);font-size:.88rem;padding:.5rem .85rem;transition:border-color var(--transition),box-shadow var(--transition)}.vaq-target-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.vaq-target-input::placeholder{color:#94a3b8;color:var(--bs-secondary-color,#94a3b8)}.vaq-manual-wrap{position:relative}.vaq-manual-editor{background:#1e1e2e;border:1px solid #6366f133;border-radius:var(--radius-card);color:#cbd5e1;font-family:var(--font-mono);font-size:.88rem;line-height:1.65;min-height:200px;padding:1rem 1.25rem;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.vaq-manual-editor:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.vaq-manual-editor::placeholder{color:#475569}.vaq-autocomplete{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);bottom:-4px;box-shadow:0 8px 24px #00000026;left:1rem;max-height:260px;overflow-y:auto;padding:.25rem 0;position:absolute;top:auto;transform:translateY(100%);width:min(360px,calc(100% - 2rem));z-index:50}.vaq-autocomplete-item{align-items:center;background:#0000;border:none;color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.82rem;gap:.5rem;justify-content:space-between;padding:.45rem .75rem;text-align:left;transition:background var(--transition);width:100%}.vaq-autocomplete-item.active,.vaq-autocomplete-item:hover{background:#6366f114;background:var(--accent-light,#6366f114)}.vaq-ac-name{color:#fb923c;font-family:var(--font-mono);font-weight:600}.vaq-ac-badge{border-radius:999px;color:#fff;flex-shrink:0;font-size:.68rem;font-weight:600;letter-spacing:.03em;padding:.1rem .45rem;text-transform:uppercase}.vaq-concept-hint{color:#94a3b8;color:var(--bs-secondary-color,#94a3b8);font-size:.78rem;font-style:italic;margin:.5rem 0 0}.vaq-dsl-ref{border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);margin-top:1rem;overflow:hidden}.vaq-dsl-ref-toggle{align-items:center;background:#f8fafc;background:var(--bs-tertiary-bg,#f8fafc);border:none;color:#64748b;color:var(--bs-secondary-color,#64748b);cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.55rem .85rem;text-align:left;transition:background var(--transition);width:100%}.vaq-dsl-ref-toggle:hover{background:#6366f10f;background:var(--accent-light,#6366f10f)}.vaq-dsl-ref-body{background:#1e1e2e;padding:.5rem .85rem .75rem}.vaq-dsl-ref-row{display:flex;font-size:.78rem;gap:.75rem;line-height:1.5;padding:.25rem 0}.vaq-dsl-ref-row code{color:#67e8f9;font-family:var(--font-mono);white-space:nowrap}.vaq-dsl-ref-row span{color:#94a3b8}.vaq-results{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem}.vaq-results-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.vaq-results-badge{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:999px;color:#fff;display:inline-flex;font-size:.82rem;font-weight:700;padding:.25rem .75rem}.vaq-results-query{color:#94a3b8;color:var(--bs-secondary-color,#94a3b8);font-size:.75rem;max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vaq-findings-table{display:flex;flex-direction:column;gap:.35rem}.vaq-findings-row{grid-gap:.5rem;align-items:center;background:#f8fafc;background:var(--bs-tertiary-bg,#f8fafc);border-left:3px solid #64748b;border-radius:var(--radius-sm);display:grid;font-size:.82rem;gap:.5rem;grid-template-columns:70px 120px 1fr 50px 2fr;padding:.55rem .75rem;transition:background var(--transition)}.vaq-findings-row:hover{background:#6366f10f;background:var(--accent-light,#6366f10f)}.vaq-finding-sev{font-size:.72rem;font-weight:700;text-transform:uppercase}.vaq-finding-rule{color:#6366f1}.vaq-finding-file,.vaq-finding-rule{font-family:var(--font-mono);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vaq-finding-line{color:#94a3b8;color:var(--bs-secondary-color,#94a3b8);font-family:var(--font-mono);font-size:.78rem}.vaq-finding-msg{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vaq-results-empty{align-items:center;color:#22c55e;display:flex;font-size:.92rem;font-weight:600;gap:.5rem;justify-content:center;padding:1.5rem}.vaq-results-empty-icon{font-size:1.4rem}.vaq-results-error{background:#dc262614;border:1px solid #dc262640;border-radius:var(--radius-sm);color:#dc2626;font-size:.85rem;margin-bottom:.75rem;padding:.75rem 1rem}.vaq-results-error pre{font-family:var(--font-mono);font-size:.78rem;margin:.5rem 0 0;white-space:pre-wrap;word-break:break-all}.vaq-btn-run:not(:disabled){border-color:#6366f1;color:#6366f1;cursor:pointer;opacity:1}.vaq-btn-run:not(:disabled):hover{background:#6366f1;color:#fff}@media (max-width:768px){.vaq-findings-row{grid-template-columns:60px 1fr 40px}.vaq-finding-msg,.vaq-finding-rule{display:none}}[data-bs-theme=dark] .vaq-dsl-block{background:#0f172a}[data-bs-theme=dark] .vaq-chip:hover{background:#818cf8;border-color:#818cf8}[data-bs-theme=dark] .vaq-provider-badge{background:#ffffff0f}[data-bs-theme=dark] .vaq-error{background:#dc26261f}[data-bs-theme=dark] .vaq-mode-tabs{background:#ffffff0d}[data-bs-theme=dark] .vaq-manual-editor{background:#0f172a;border-color:#6366f126}[data-bs-theme=dark] .vaq-autocomplete{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px #0006}[data-bs-theme=dark] .vaq-dsl-ref-toggle{background:#ffffff0a}[data-bs-theme=dark] .vaq-dsl-ref-body{background:#0f172a}[data-bs-theme=dark] .vaq-findings-row{background:#ffffff08}[data-bs-theme=dark] .vaq-results-error{background:#dc26261f}.rulesmith{padding:1.75rem 2.5rem 4rem}.rulesmith-header{background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4c1d95);border-radius:12px;border-radius:var(--radius-card,12px);margin-bottom:1.5rem;overflow:hidden;padding:2rem 2.5rem;position:relative}.rulesmith-header:before{background:radial-gradient(circle,#8b5cf640 0,#0000 70%);content:"";height:300px;pointer-events:none;position:absolute;right:-10%;top:-50%;width:300px}.rulesmith-header:after{background:radial-gradient(circle,#6366f133 0,#0000 70%);bottom:-30%;content:"";height:200px;left:10%;pointer-events:none;position:absolute;width:200px}.rulesmith-header__title-row{align-items:center;display:flex;gap:1rem;position:relative;z-index:1}.rulesmith-header__icon{filter:drop-shadow(0 0 12px rgba(139,92,246,.6));font-size:2.4rem}.rulesmith-header__title{color:#fff;font-family:Inter,system-ui,sans-serif;font-family:var(--font-sans,"Inter",system-ui,sans-serif);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:0}.rulesmith-header__sub{color:#ffffffb3;font-size:.92rem;margin:.25rem 0 0}.rulesmith-body{display:flex;flex-direction:column;gap:1.5rem}.rulesmith-section-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:1.05rem;font-weight:700;margin:0 0 1rem}.rulesmith-label{color:#888;color:var(--bs-secondary-color,#888);display:block;font-size:.82rem;font-weight:600;letter-spacing:.05em;margin:1rem 0 .4rem;text-transform:uppercase}.rulesmith-label:first-of-type{margin-top:.25rem}.rulesmith-textarea{background:#111;background:var(--bs-body-bg,#111);border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:8px;border-radius:var(--radius-sm,8px);box-sizing:border-box;color:#e5e7eb;color:var(--bs-body-color,#e5e7eb);font-family:Inter,system-ui,sans-serif;font-family:var(--font-sans,"Inter",system-ui,sans-serif);font-size:.93rem;min-height:80px;padding:.75rem 1rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.rulesmith-textarea:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f12e;box-shadow:0 0 0 3px var(--accent-light,#6366f12e);outline:none}.rulesmith-langs{display:flex;flex-wrap:wrap;gap:.5rem}.rulesmith-lang-chip{background:#0000;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:999px;color:#ccc;color:var(--bs-body-color,#ccc);cursor:pointer;font-size:.82rem;font-weight:500;padding:.35rem .85rem;transition:all .2s}.rulesmith-lang-chip:hover{border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.rulesmith-lang-chip--active{background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#fff}.rulesmith-lang-chip--active:hover{background:#4f46e5;background:var(--accent-hover,#4f46e5);color:#fff}.rulesmith-sevs{display:flex;flex-wrap:wrap;gap:.5rem}.rulesmith-sev-chip{background:#0000;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:999px;color:#ccc;color:var(--bs-body-color,#ccc);cursor:pointer;font-size:.82rem;font-weight:600;padding:.35rem .85rem;text-transform:capitalize;transition:all .2s}.rulesmith-sev-chip:hover{opacity:.85}.rulesmith-sev-chip--active{font-weight:700}.rulesmith-btn{align-items:center;cursor:pointer;display:inline-flex;font-size:.92rem;gap:.5rem;margin-top:1.25rem}.rulesmith-btn--generate{font-size:1rem;font-weight:700;letter-spacing:.01em;padding:.7rem 2rem}.rulesmith-btn--generate:not(:disabled):hover{box-shadow:0 6px 20px #6366f166;transform:translateY(-1px)}.rulesmith-btn--sm{background:#0000;border:1px solid #6366f1;border:1px solid var(--accent,#6366f1);border-radius:8px;border-radius:var(--radius-sm,8px);color:#6366f1;color:var(--accent,#6366f1);cursor:pointer;font-size:.82rem;margin-top:0;padding:.3rem .75rem;transition:all .2s}.rulesmith-btn--sm:hover{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.rulesmith-spinner{animation:rulesmith-spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@keyframes rulesmith-spin{to{transform:rotate(1turn)}}.rulesmith-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-sm,8px);color:#f87171;font-size:.88rem;margin-top:.75rem;padding:.65rem 1rem}.rulesmith-pipeline{align-items:flex-start;display:flex;gap:0;justify-content:center;padding:1rem 0}.rulesmith-pipeline__step{align-items:center;display:flex;flex-direction:column;gap:.35rem;min-width:90px;position:relative}.rulesmith-pipeline__icon{align-items:center;background:#111;background:var(--bs-body-bg,#111);border:2px solid #333;border:2px solid var(--bs-border-color,#333);border-radius:50%;color:#888;color:var(--bs-secondary-color,#888);display:flex;font-size:1.25rem;height:48px;justify-content:center;position:relative;transition:all .4s;width:48px;z-index:1}.rulesmith-pipeline__label{color:#888;color:var(--bs-secondary-color,#888);font-size:.8rem;font-weight:600;transition:color .3s}.rulesmith-pipeline__desc{color:#666;color:var(--bs-secondary-color,#666);font-size:.7rem;opacity:.7}.rulesmith-pipeline__connector{background:#333;background:var(--bs-border-color,#333);flex:0 0 60px;height:2px;margin-top:23px;position:relative;transition:background .4s}.rulesmith-pipeline__connector--lit{background:linear-gradient(90deg,#10b981,#6366f1)}.rulesmith-pipeline__step--done .rulesmith-pipeline__icon{background:#10b981;border-color:#10b981;box-shadow:0 0 12px #10b98159;color:#fff}.rulesmith-pipeline__step--done .rulesmith-pipeline__label{color:#10b981}.rulesmith-pipeline__step--active .rulesmith-pipeline__icon{animation:rulesmith-pulse 1.5s ease-in-out infinite;background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 18px #6366f180;color:#fff}.rulesmith-pipeline__step--active .rulesmith-pipeline__label{color:#6366f1;color:var(--accent,#6366f1)}.rulesmith-pipeline__step--failed .rulesmith-pipeline__icon{background:#ef4444;border-color:#ef4444;box-shadow:0 0 12px #ef444459;color:#fff}.rulesmith-pipeline__step--failed .rulesmith-pipeline__label{color:#ef4444}@keyframes rulesmith-pulse{0%,to{box-shadow:0 0 18px #6366f180}50%{box-shadow:0 0 28px #6366f1cc,0 0 60px #6366f133}}.rulesmith-gauge{display:flex;justify-content:center;margin:.5rem 0}.rulesmith-gauge__svg{height:120px;width:120px}.rulesmith-gauge__arc{transition:stroke-dashoffset 1s ease-out}.rulesmith-gauge__num{font-family:Inter,system-ui,sans-serif;font-family:var(--font-sans,"Inter",system-ui,sans-serif)}.rulesmith-results__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 280px;margin-bottom:1rem}@media (max-width:860px){.rulesmith-results__grid{grid-template-columns:1fr}}.rulesmith-results__meta h4,.rulesmith-results__rule h4{color:#888;color:var(--bs-secondary-color,#888);font-size:.85rem;font-weight:600;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.rulesmith-code{background:#0d1117;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:8px;border-radius:var(--radius-sm,8px);color:#e6edf3;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.82rem;line-height:1.6;margin:0;overflow-x:auto;padding:1rem 1.25rem;white-space:pre-wrap;word-break:break-word}.rulesmith-code--sm{font-size:.76rem;max-height:200px;overflow-y:auto;padding:.65rem .85rem}.rulesmith-badge-row{align-items:center;display:flex;gap:.5rem;margin:.75rem 0}.rulesmith-badge{border-radius:999px;font-size:.78rem;font-weight:600;padding:.25rem .7rem}.rulesmith-badge--ok{background:#10b9811f;border:1px solid #10b9814d;color:#10b981}.rulesmith-badge--fail{background:#ef44441f;border:1px solid #ef44444d;color:#f87171}.rulesmith-badge-msg{color:#888;color:var(--bs-secondary-color,#888);font-size:.78rem}.rulesmith-test-card{background:#0003;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:8px;border-radius:var(--radius-sm,8px);margin-top:.75rem;padding:.85rem 1rem}.rulesmith-test-card h4{margin-top:0}.rulesmith-test-row{font-size:.85rem;padding:.2rem 0}.rulesmith-test--pass{color:#10b981}.rulesmith-test--warn{color:#f59e0b}.rulesmith-test--fail{color:#ef4444}.rulesmith-provider{color:#666;color:var(--bs-secondary-color,#666);font-size:.78rem;font-style:italic;margin-top:.75rem}.rulesmith-actions{border-top:1px solid #333;border-top:1px solid var(--bs-border-color,#333);display:flex;gap:.75rem;padding-top:.75rem}.rulesmith-history__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.rulesmith-table-wrap{overflow-x:auto}.rulesmith-table{border-collapse:collapse;font-size:.85rem;width:100%}.rulesmith-table th{border-bottom:1px solid #333;border-bottom:1px solid var(--bs-border-color,#333);color:#888;color:var(--bs-secondary-color,#888);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.65rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.rulesmith-table__sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.rulesmith-table__sortable:hover{color:#6366f1;color:var(--accent,#6366f1)}.rulesmith-sort-arrow{font-size:.7rem}.rulesmith-table td{border-bottom:1px solid #3336;border-bottom:1px solid var(--bs-border-color,#3336);padding:.6rem .75rem;vertical-align:middle}.rulesmith-table__row{cursor:pointer;transition:background .15s}.rulesmith-table__row:hover{background:#6366f10d}.rulesmith-table__row--expanded{background:#6366f114}.rulesmith-table__desc{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rulesmith-table__date{color:#888;color:var(--bs-secondary-color,#888);font-size:.8rem;white-space:nowrap}.rulesmith-rule-id{background:#6366f114;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem;padding:.15rem .4rem}.rulesmith-lang-tag,.rulesmith-rule-id{border-radius:4px;color:#6366f1;color:var(--accent,#6366f1)}.rulesmith-lang-tag{background:#6366f11a;display:inline-block;font-size:.72rem;font-weight:500;margin:.1rem;padding:.1rem .45rem}.rulesmith-score-pill{font-size:.88rem;font-weight:700}.rulesmith-status-badge{border-radius:999px;color:#fff;display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .6rem;text-transform:capitalize;white-space:nowrap}.rulesmith-table__actions{white-space:nowrap}.rulesmith-action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.2rem .35rem;transition:background .15s}.rulesmith-action-btn:hover{background:#6366f11f}.rulesmith-action-btn:disabled{cursor:default;opacity:.4}.rulesmith-table__detail-row td{background:#00000026;padding:1rem}.rulesmith-table__detail-meta{display:flex;flex-wrap:wrap;font-size:.82rem;gap:1rem;margin-top:.65rem}.rulesmith-empty,.rulesmith-table__detail-meta{color:#888;color:var(--bs-secondary-color,#888)}.rulesmith-empty{font-size:.92rem;padding:2.5rem 1rem;text-align:center}.rulesmith-modal-backdrop{align-items:center;animation:rulesmith-fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.rulesmith-modal{animation:rulesmith-slideUp .25s ease-out;background:#1a1a2e;background:var(--bs-body-bg,#1a1a2e);border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:12px;border-radius:var(--radius-card,12px);box-shadow:0 24px 60px #00000080;max-width:520px;padding:2rem;width:90%}.rulesmith-modal__header{align-items:center;display:flex;justify-content:space-between}.rulesmith-modal__header h3{font-size:1.15rem;font-weight:700;margin:0}.rulesmith-modal__close{background:none;border:none;border-radius:4px;color:#888;color:var(--bs-secondary-color,#888);cursor:pointer;font-size:1.2rem;padding:.25rem;transition:background .15s}.rulesmith-modal__close:hover{background:#ffffff14}.rulesmith-modal__sub{color:#888;color:var(--bs-secondary-color,#888);font-size:.88rem;margin:.5rem 0 1rem}.rulesmith-input{background:#111;background:var(--bs-body-bg,#111);border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:8px;border-radius:var(--radius-sm,8px);box-sizing:border-box;color:#e5e7eb;color:var(--bs-body-color,#e5e7eb);font-size:.9rem;padding:.65rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.rulesmith-input:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f12e;box-shadow:0 0 0 3px var(--accent-light,#6366f12e);outline:none}.rulesmith-cal-results{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr 1fr;margin-top:1.25rem}.rulesmith-cal-stat{background:#0003;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:8px;border-radius:var(--radius-sm,8px);padding:.75rem;text-align:center}.rulesmith-cal-stat__num{color:#e5e7eb;color:var(--bs-body-color,#e5e7eb);display:block;font-size:1.5rem;font-weight:700}.rulesmith-cal-stat--tp .rulesmith-cal-stat__num{color:#10b981}.rulesmith-cal-stat--fp .rulesmith-cal-stat__num{color:#ef4444}.rulesmith-cal-stat__label{color:#888;color:var(--bs-secondary-color,#888);display:block;font-size:.72rem;letter-spacing:.04em;margin-top:.15rem;text-transform:uppercase}.rulesmith-cal-bar{background:#333;background:var(--bs-border-color,#333);border-radius:999px;display:flex;grid-column:1/-1;height:10px;overflow:hidden}.rulesmith-cal-bar__fill--tp{background:#10b981;transition:width .6s ease-out}.rulesmith-cal-bar__fill--fp{background:#ef4444;transition:width .6s ease-out}.rulesmith-cal-fprate{color:#999;color:var(--bs-secondary-color,#999);font-size:.88rem;grid-column:1/-1;text-align:center}@keyframes rulesmith-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rulesmith-slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.rulesmith-header{padding:1.25rem}.rulesmith-header__title{font-size:1.35rem}.rulesmith-pipeline{flex-wrap:wrap;gap:.5rem}.rulesmith-pipeline__connector{display:none}.rulesmith-cal-results{grid-template-columns:1fr}}.vrs{padding:1.75rem 2.5rem 4rem}.vrs-header{background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4c1d95);border-radius:12px;border-radius:var(--radius-card,12px);margin-bottom:0;overflow:hidden;padding:2rem 2.5rem 0;position:relative}.vrs-header:before{background:radial-gradient(circle,#8b5cf640 0,#0000 70%);height:300px;right:-10%;top:-50%;width:300px}.vrs-header:after,.vrs-header:before{content:"";pointer-events:none;position:absolute}.vrs-header:after{background:radial-gradient(circle,#6366f133 0,#0000 70%);bottom:-30%;height:200px;left:10%;width:200px}.vrs-header__title-row{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem;position:relative;z-index:1}.vrs-header__icon{filter:drop-shadow(0 0 12px rgba(139,92,246,.6));font-size:2.4rem}.vrs-header__title{color:#fff;font-family:Inter,system-ui,sans-serif;font-family:var(--font-sans,"Inter",system-ui,sans-serif);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:0}.vrs-header__sub{color:#ffffffb3;font-size:.92rem;margin:.25rem 0 0}.vrs-tabs{border-top:1px solid #ffffff1f;display:flex;gap:0;margin:0 -2.5rem;padding:0 2.5rem;position:relative;z-index:1}.vrs-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#ffffffa6;cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:.4rem;letter-spacing:.01em;padding:.85rem 1.4rem;transition:color .2s,border-color .2s;white-space:nowrap}.vrs-tab:hover{color:#ffffffe6}.vrs-tab--active{border-bottom-color:#a78bfa;color:#fff}.vrs-tab__icon{font-size:1.05em}.vrs-body{padding-top:1.5rem}.vrs-card{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);box-shadow:var(--shadow-card);padding:1.5rem}.vrs-section-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:1rem;font-weight:700;margin:0 0 1rem}.vrs-label{color:#888;color:var(--bs-secondary-color,#888);display:block;font-size:.8rem;font-weight:600;letter-spacing:.06em;margin:1rem 0 .4rem;text-transform:uppercase}.vrs-label:first-child{margin-top:0}.vrs-input{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:8px;border-radius:var(--radius-sm,8px);box-sizing:border-box;color:var(--bs-body-color);font-family:Inter,system-ui,sans-serif;font-family:var(--font-sans,"Inter",system-ui,sans-serif);font-size:.9rem;padding:.65rem .9rem;transition:border-color .2s,box-shadow .2s;width:100%}.vrs-input:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f12e;box-shadow:0 0 0 3px var(--accent-light,#6366f12e);outline:none}.vrs-textarea{min-height:80px;resize:vertical}.vrs-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;padding-right:2.2rem}.vrs-btn{align-items:center;background:#0000;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:8px;border-radius:var(--radius-sm,8px);color:#ccc;color:var(--bs-body-color,#ccc);cursor:pointer;display:inline-flex;font-family:Inter,system-ui,sans-serif;font-family:var(--font-sans,"Inter",system-ui,sans-serif);font-size:.88rem;font-weight:600;gap:.4rem;padding:.55rem 1.1rem;transition:all .2s}.vrs-btn:hover:not(:disabled){border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.vrs-btn:disabled{cursor:not-allowed;opacity:.45}.vrs-btn--primary{background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#fff}.vrs-btn--primary:hover:not(:disabled){background:#4f46e5;background:var(--accent-hover,#4f46e5);border-color:#4f46e5;border-color:var(--accent-hover,#4f46e5);color:#fff}.vrs-btn--sm{font-size:.8rem;padding:.35rem .75rem}.vrs-btn--danger{border-color:#ef4444;color:#ef4444}.vrs-btn--danger:hover:not(:disabled){background:#ef44441a}.vrs-spinner{animation:vrs-spin .7s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid #0000;display:inline-block;height:14px;width:14px}@keyframes vrs-spin{to{transform:rotate(1turn)}}.vrs-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444}.vrs-error,.vrs-success{font-size:.88rem;margin-top:.75rem;padding:.65rem 1rem}.vrs-success{background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;color:#10b981}.vrs-status-badge{border-radius:999px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem}.vrs-browse{gap:1.25rem}.vrs-browse,.vrs-filters{display:flex;flex-direction:column}.vrs-filters{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);gap:.75rem;padding:1.25rem 1.5rem}.vrs-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.vrs-search{flex:1 1;max-width:340px;min-width:200px}.vrs-lang-select{max-width:160px}.vrs-chips{display:flex;flex-wrap:wrap;gap:.4rem}.vrs-chip{background:#0000;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:999px;color:var(--bs-body-color);cursor:pointer;font-size:.8rem;font-weight:500;padding:.28rem .75rem;transition:all .2s}.vrs-chip:hover{border-color:var(--chip-color,var(--accent));color:var(--accent);color:var(--chip-color,var(--accent))}.vrs-chip.active{background:#6366f1;background:var(--chip-color,var(--accent,#6366f1));border-color:#6366f1;border-color:var(--chip-color,var(--accent,#6366f1));color:#fff}.vrs-chip-dot{border-radius:50%;display:inline-block;height:7px;margin-right:4px;vertical-align:middle;width:7px}.vrs-fw-chip{background:#0000;border:1px solid #888;border:1px solid var(--fw-color,#888);border-radius:6px;color:#888;color:var(--fw-color,#888);cursor:pointer;font-size:.77rem;font-weight:600;letter-spacing:.03em;padding:.22rem .65rem;transition:all .2s}.vrs-fw-chip.active{background:#888;background:var(--fw-color,#888);color:#fff}.vrs-tag-cloud{display:flex;flex-wrap:wrap;gap:.35rem}.vrs-tag{background:#0000;border:1px solid #444;border:1px solid var(--bs-border-color,#444);border-radius:999px;color:#888;color:var(--bs-secondary-color,#888);cursor:pointer;font-size:.76rem;padding:.18rem .55rem;transition:all .18s}.vrs-tag.active,.vrs-tag:hover{border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.vrs-filter-clear{background:none;border:none;color:var(--bs-secondary-color);cursor:pointer;font-size:.78rem;margin-left:auto;padding:0;text-decoration:underline}.vrs-coverage-map{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1.25rem 1.5rem}.vrs-coverage-map h4{font-size:.95rem;font-weight:700;margin:0 0 1rem}.vrs-coverage-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.vrs-coverage-cell{align-items:center;border:1px solid var(--bs-border-color);border-radius:8px;display:flex;gap:.6rem;padding:.65rem .85rem;transition:border-color .2s}.vrs-coverage-cell--covered{background:#10b9810f;border-color:#10b98166}.vrs-coverage-cell--uncovered{background:#ef44440a;border-color:#ef44444d}.vrs-coverage-cell__id{font-family:monospace;font-size:.78rem;font-weight:700;min-width:36px}.vrs-coverage-cell--covered .vrs-coverage-cell__id{color:#10b981}.vrs-coverage-cell--uncovered .vrs-coverage-cell__id{color:#ef4444}.vrs-coverage-cell__name{color:var(--bs-body-color);flex:1 1;font-size:.8rem}.vrs-coverage-cell__count{color:var(--bs-secondary-color);font-size:.76rem;font-weight:600}.vrs-similar-panel{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1rem 1.25rem}.vrs-similar-panel h4{color:var(--bs-secondary-color);font-size:.9rem;font-weight:700;margin:0 0 .75rem}.vrs-similar-item{align-items:center;border-bottom:1px solid var(--bs-border-color);cursor:pointer;display:flex;gap:.75rem;padding:.6rem 0;transition:background .15s}.vrs-similar-item:last-child{border-bottom:none}.vrs-similar-item:hover{background:#6366f10a}.vrs-similar-id{color:#6366f1;color:var(--accent,#6366f1);flex:1 1;font-family:monospace;font-size:.82rem;font-weight:600;min-width:0}.vrs-similar-score{color:var(--bs-secondary-color);font-size:.75rem;font-weight:700}.vrs-pack-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.vrs-pack-card{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);cursor:pointer;overflow:hidden;padding:1.25rem;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}.vrs-pack-card:hover{box-shadow:0 6px 20px #6366f126;transform:translateY(-2px)}.vrs-pack-card.expanded,.vrs-pack-card:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.vrs-pack-card.expanded{box-shadow:0 0 0 2px #6366f133}.vrs-pack-count{background:#6366f11a;border-radius:999px;color:#6366f1;color:var(--accent,#6366f1);font-size:.76rem;font-weight:700;padding:.15rem .5rem;position:absolute;right:1rem;top:.85rem}.vrs-pack-header{align-items:baseline;display:flex;gap:.6rem;margin-bottom:.5rem;margin-right:3.5rem}.vrs-pack-name{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-size:1rem;font-weight:700;margin:0}.vrs-pack-version{color:var(--bs-secondary-color);font-family:monospace;font-size:.75rem}.vrs-pack-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--bs-secondary-color);display:-webkit-box;font-size:.84rem;line-height:1.45;margin:0 0 .75rem;overflow:hidden}.vrs-heatmap{background:var(--bs-border-color);border-radius:2px;display:flex;height:4px;margin-bottom:.75rem;overflow:hidden}.vrs-heatmap-seg{height:100%}.vrs-heatmap-critical{background:#dc2626}.vrs-heatmap-high{background:#ea580c}.vrs-heatmap-medium{background:#ca8a04}.vrs-heatmap-low{background:#2563eb}.vrs-heatmap-info{background:#6b7280}.vrs-lang-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.vrs-lang-badge{border-radius:6px;font-size:.73rem;font-weight:600;padding:.18rem .55rem}.vrs-lang-go{background:#00adb526;color:#00adb5}.vrs-lang-java{background:#ea580c26;color:#ea580c}.vrs-lang-python{background:#2563eb26;color:#3b82f6}.vrs-lang-javascript{background:#ca8a0426;color:#ca8a04}.vrs-lang-typescript{background:#2563eb1f;color:#60a5fa}.vrs-lang-c{background:#6b728026;color:#9ca3af}.vrs-lang-cpp{background:#8b5cf626;color:#8b5cf6}.vrs-lang-dockerfile{background:#0ea5e926;color:#0ea5e9}.vrs-lang-yaml{background:#10b98126;color:#10b981}.vrs-lang-hcl{background:#6366f126;color:#818cf8}.vrs-pack-tags{display:flex;flex-wrap:wrap;gap:.3rem}.vrs-pack-tag{border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:999px;color:var(--bs-secondary-color);font-size:.72rem;padding:.14rem .5rem}.vrs-fw-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.vrs-fw-badge{border-radius:5px;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.15rem .55rem}.vrs-fw-eucra{background:#7c3aed26;border:1px solid #7c3aed4d;color:#7c3aed}.vrs-fw-pcidss{background:#dc26261f;border:1px solid #dc26264d;color:#dc2626}.vrs-fw-owasp{background:#ea580c1f;border:1px solid #ea580c4d;color:#ea580c}.vrs-fw-asvs{background:#0891b21f;border:1px solid #0891b24d;color:#0891b2}.vrs-fw-soc2{background:#0596691f;border:1px solid #0596694d;color:#059669}.vrs-expanded-panel{background:var(--bs-body-bg);border:1px solid #6366f1;border:1px solid var(--accent,#6366f1);border-radius:12px;border-radius:var(--radius-card,12px);grid-column:1/-1;overflow:hidden}.vrs-rules-table{border-collapse:collapse;font-size:.84rem;width:100%}.vrs-rules-table th{background:#6366f10a;color:var(--bs-secondary-color);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.65rem 1rem;text-align:left;text-transform:uppercase}.vrs-rules-table tbody tr,.vrs-rules-table th{border-bottom:1px solid var(--bs-border-color)}.vrs-rules-table tbody tr{cursor:pointer;transition:background .15s}.vrs-rules-table tbody tr:last-child{border-bottom:none}.vrs-rules-table tbody tr:hover{background:#6366f10d}.vrs-rules-table td{padding:.6rem 1rem;vertical-align:middle}.vrs-sev-dot{border-radius:999px;display:inline-block;font-size:.74rem;font-weight:600;padding:.18rem .55rem}.vrs-sev-dot.critical{background:#dc262626;color:#dc2626}.vrs-sev-dot.high{background:#ea580c26;color:#ea580c}.vrs-sev-dot.medium{background:#ca8a0426;color:#ca8a04}.vrs-sev-dot.low{background:#2563eb26;color:#2563eb}.vrs-sev-dot.info{background:#6b728026;color:#6b7280}.vrs-rule-id{color:#6366f1;color:var(--accent,#6366f1);font-family:monospace;font-size:.82rem;font-weight:600}.vrs-conf-badge{border-radius:999px;display:inline-block;font-size:.73rem;font-weight:600;padding:.14rem .5rem}.vrs-conf-high{background:#05966926;color:#059669}.vrs-conf-medium{background:#ca8a0426;color:#ca8a04}.vrs-conf-low{background:#6b728026;color:#9ca3af}.vrs-cwe-badge{background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:5px;color:#7c3aed;display:inline-block;font-size:.72rem;font-weight:700;padding:.14rem .45rem;text-decoration:none;transition:background .15s}.vrs-cwe-badge:hover{background:#7c3aed33}.vrs-owasp-badge{background:#ea580c1a;border:1px solid #ea580c40;border-radius:5px;color:#ea580c;display:inline-block;font-size:.72rem;font-weight:600;padding:.14rem .45rem}.vrs-drawer-backdrop{background:#00000080;inset:0;position:fixed;z-index:400}.vrs-drawer{background:#fff;background:var(--bs-body-bg,#fff);border-left:2px solid #dee2e6;border-left:2px solid var(--bs-border-color,#dee2e6);box-shadow:-12px 0 48px #00000047,-2px 0 8px #0000001f;display:flex;flex-direction:column;height:100vh;isolation:isolate;max-width:95vw;opacity:1!important;position:fixed;right:0;top:0;width:480px;z-index:401}.vrs-drawer-header{align-items:flex-start;background:#f8f9fa;background:var(--bs-tertiary-bg,#f8f9fa);border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--bs-border-color,#dee2e6);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.vrs-drawer-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:monospace;font-size:1.05rem;font-weight:700;margin-bottom:.4rem}.vrs-drawer-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.vrs-drawer-close{background:none;border:none;color:var(--bs-secondary-color);cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;padding:.25rem;transition:color .2s}.vrs-drawer-close:hover{color:var(--bs-body-color)}.vrs-drawer-body{background:#fff;background:var(--bs-body-bg,#fff);flex:1 1;overflow-y:auto;padding:1rem 1.5rem}.vrs-drawer-section{background:#f8f9fa;background:var(--bs-tertiary-bg,#f8f9fa);border:1px solid #dee2e6;border:1px solid var(--bs-border-color,#dee2e6);border-radius:8px;border-radius:var(--radius-sm,8px);margin-bottom:1.25rem;padding:.85rem 1rem}@media (prefers-color-scheme:dark){.vrs-drawer{background:#1a1d21}.vrs-drawer-header{background:#212529}.vrs-drawer-body{background:#1a1d21}.vrs-drawer-section{background:#212529}}.vrs-drawer-section h4{color:var(--bs-secondary-color);font-size:.8rem;font-weight:700;letter-spacing:.06em;margin:0 0 .6rem;text-transform:uppercase}.vrs-drawer-badges-row{display:flex;flex-wrap:wrap;gap:.35rem}.vrs-drawer-actions{background:#f8f9fa;background:var(--bs-tertiary-bg,#f8f9fa);border-top:2px solid #dee2e6;border-top:2px solid var(--bs-border-color,#dee2e6);display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem}.vrs-fix-box,.vrs-message-box{background:#6366f10d;border-left:3px solid #6366f1;border-left:3px solid var(--accent,#6366f1);border-radius:8px;color:var(--bs-body-color);font-size:.87rem;line-height:1.5;padding:.75rem 1rem}.vrs-fix-box{background:#10b9810d;border-left-color:#10b981}.vrs-dsl-block{background:#0d1117;border:1px solid var(--bs-border-color);border-radius:8px;color:#e2e8f0;font-family:JetBrains Mono,Menlo,monospace;font-size:.82rem;line-height:1.65;overflow-x:auto;padding:1rem;white-space:pre}.vrs-dsl-keyword{color:#c792ea;font-weight:600}.vrs-dsl-concept{color:#82aaff;font-weight:600}.vrs-dsl-string{color:#c3e88d}.vrs-dsl-comment{color:#546e7a;font-style:italic}.vrs-dsl-flow{color:#ffcb6b;font-weight:600}.vrs-excluded-paths{display:flex;flex-wrap:wrap;gap:.3rem}.vrs-excluded-path{background:#6b72801f;border-radius:4px;font-family:monospace;font-size:.76rem;padding:.15rem .5rem}.vrs-empty,.vrs-excluded-path{color:var(--bs-secondary-color)}.vrs-empty{font-size:.9rem;padding:4rem 2rem;text-align:center}.vrs-empty__icon{font-size:2.5rem;margin-bottom:.75rem}.vrs-loading{align-items:center;color:var(--bs-secondary-color);display:flex;gap:.75rem;justify-content:center;padding:3rem}.vrs-spinner-lg{animation:vrs-spin .75s linear infinite;border-top-color:#6366f1;border:3px solid var(--bs-border-color);border-radius:50%;border-top-color:var(--accent,#6366f1);height:28px;width:28px}.vrs-write{display:flex;flex-direction:column;gap:1rem}.vrs-write-topbar{align-items:center;background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem 1.25rem}.vrs-write-topbar .vrs-rule-name{color:#6366f1;color:var(--accent,#6366f1);font-family:monospace;font-size:1rem;font-weight:600}.vrs-write-split{display:flex;gap:1.25rem;min-height:520px}.vrs-write-left{display:flex;flex:1.4 1;flex-direction:column;gap:1rem;min-width:0}.vrs-write-right{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-width:280px}@media (max-width:1100px){.vrs-write-split{flex-direction:column}}.vrs-editor-wrapper{background:#0d1117;border:1px solid #333;border:1px solid var(--bs-border-color,#333);border-radius:10px;flex:1 1;overflow:hidden;position:relative}.vrs-editor-wrapper.has-error{border-color:#ef4444;box-shadow:0 0 0 2px #ef444426}.vrs-editor-container{display:flex;height:100%;min-height:480px;position:relative;width:100%}.vrs-editor-lines{background:#0d1117;border-right:1px solid #1e2736;color:#3d4455;font-family:JetBrains Mono,Menlo,monospace;font-size:.83rem;line-height:1.65;min-width:44px;overflow:hidden;padding:1rem .4rem 1rem .25rem;text-align:right;-webkit-user-select:none;user-select:none;width:44px}.vrs-editor-highlight{color:#e2e8f0;margin:0;overflow:hidden;pointer-events:none}.vrs-editor-highlight,.vrs-editor-textarea{word-wrap:break-word;background:#0000;bottom:0;font-family:JetBrains Mono,Menlo,monospace;font-size:.83rem;left:44px;line-height:1.65;padding:1rem 1rem 1rem .75rem;position:absolute;right:0;top:0;white-space:pre-wrap}.vrs-editor-textarea{border:none;box-sizing:border-box;caret-color:#a78bfa;color:#0000;outline:none;overflow:auto;resize:none;tab-size:2;width:calc(100% - 44px);z-index:1}.vrs-editor-highlight .kw{color:#c792ea;font-weight:600}.vrs-editor-highlight .concept{color:#82aaff}.vrs-editor-highlight .str{color:#c3e88d}.vrs-editor-highlight .num{color:#f78c6c}.vrs-editor-highlight .cmt{color:#546e7a;font-style:italic}.vrs-template-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.vrs-preview-card{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);overflow:hidden}.vrs-preview-header{background:#6366f10a;border-bottom:1px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.82rem;font-weight:700;letter-spacing:.05em;padding:.7rem 1rem;text-transform:uppercase}.vrs-preview-body{padding:.75rem 1rem}.vrs-preview-row{align-items:flex-start;display:flex;font-size:.84rem;gap:.5rem;margin-bottom:.45rem}.vrs-preview-label{color:var(--bs-secondary-color);flex-shrink:0;font-weight:600;min-width:90px}.vrs-preview-value{color:var(--bs-body-color);flex:1 1;min-width:0}.vrs-validation{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border-radius:12px;border-radius:var(--radius-card,12px);overflow:hidden}.vrs-validation--ok{border:1px solid #10b98166}.vrs-validation--fail{border:1px solid #ef444466}.vrs-validation-header{align-items:center;display:flex;font-size:.85rem;font-weight:700;gap:.5rem;padding:.6rem 1rem}.vrs-validation--ok .vrs-validation-header{background:#10b9810f;color:#10b981}.vrs-validation--fail .vrs-validation-header{background:#ef44440f;color:#ef4444}.vrs-validation-errors{list-style:none;margin:0;padding:.5rem 1rem .75rem}.vrs-validation-errors li{color:#ef4444;display:flex;font-size:.82rem;gap:.4rem;padding:.25rem 0}.vrs-validation-errors li:before{content:"•"}.vrs-concepts{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);overflow:hidden}.vrs-concepts-header{align-items:center;border-bottom:1px solid var(--bs-border-color);color:var(--bs-secondary-color);cursor:pointer;display:flex;font-size:.82rem;font-weight:700;justify-content:space-between;letter-spacing:.05em;padding:.7rem 1rem;text-transform:uppercase;transition:background .15s;-webkit-user-select:none;user-select:none}.vrs-concepts-header:hover{background:#6366f10a}.vrs-concepts-body{padding:.75rem 1rem}.vrs-concept-cat{margin-bottom:.75rem}.vrs-concept-cat-label{color:var(--bs-secondary-color);font-size:.74rem;font-weight:700;letter-spacing:.06em;margin-bottom:.35rem;text-transform:uppercase}.vrs-concept-tags{display:flex;flex-wrap:wrap;gap:.3rem}.vrs-concept-tag{background:#82aaff1a;border:1px solid #82aaff33;border-radius:6px;color:#82aaff;cursor:pointer;font-family:monospace;font-size:.77rem;font-weight:600;padding:.2rem .55rem;transition:background .15s}.vrs-concept-tag:hover{background:#82aaff33}.vrs-test-results{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1rem 1.25rem}.vrs-test-results h4{color:var(--bs-secondary-color);font-size:.85rem;font-weight:700;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.vrs-findings-table{border-collapse:collapse;font-size:.82rem;width:100%}.vrs-findings-table th{color:var(--bs-secondary-color);font-size:.73rem;font-weight:700;letter-spacing:.05em;padding:.4rem .75rem;text-align:left;text-transform:uppercase}.vrs-findings-table td,.vrs-findings-table th{border-bottom:1px solid var(--bs-border-color)}.vrs-findings-table td{padding:.45rem .75rem;vertical-align:middle}.vrs-findings-table tr:last-child td{border-bottom:none}.vrs-findings-list{display:flex;flex-direction:column;gap:.5rem}.vrs-finding-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:6px;padding:.6rem .8rem}.vrs-finding-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:.2rem;margin-bottom:.35rem}.vrs-finding-snippet{background:#0d1117;border-left:2px solid #6366f1;border-left:2px solid var(--accent,#6366f1);border-radius:5px;color:#e6edf3;font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;margin:.3rem 0;overflow-x:auto;padding:.35rem .65rem;white-space:pre-wrap}.vrs-finding-captures{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.vrs-playground{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid #6366f1;border:1px solid var(--accent,#6366f1);border-radius:12px;border-radius:var(--radius-card,12px);padding:1.25rem}.vrs-playground h4{align-items:center;display:flex;font-size:.9rem;font-weight:700;gap:.5rem;margin:0 0 .75rem}.vrs-playground-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.vrs-modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:500}.vrs-modal{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:14px;box-shadow:0 24px 72px #0009,0 2px 12px #0003;max-height:80vh;max-width:520px;overflow-y:auto;padding:1.75rem;width:100%}.vrs-modal h3{font-size:1.1rem;font-weight:700;margin:0 0 1.25rem}.vrs-modal-close{background:none;border:none;color:var(--bs-secondary-color);cursor:pointer;float:right;font-size:1.1rem;margin-top:-.25rem}.vrs-modal-close:hover{color:var(--bs-body-color)}.vrs-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.vrs-saved-rule-item{align-items:center;border:1px solid var(--bs-border-color);border-radius:8px;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem;padding:.65rem .85rem;transition:border-color .2s}.vrs-saved-rule-item:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.vrs-saved-rule-item__name{color:var(--bs-body-color);font-size:.88rem;font-weight:600}.vrs-saved-rule-item__meta{color:var(--bs-secondary-color);font-size:.76rem;margin-top:.15rem}.vrs-saved-rule-item__actions{display:flex;flex-shrink:0;gap:.3rem}.vrs-generate{display:flex;flex-direction:column;gap:1.25rem}.vrs-gen-input{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1.5rem}.vrs-gen-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}@media (max-width:900px){.vrs-gen-grid{grid-template-columns:1fr}}.vrs-semantic-panel{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1rem 1.25rem}.vrs-semantic-panel h4{align-items:center;color:var(--bs-secondary-color);display:flex;font-size:.85rem;font-weight:700;gap:.4rem;margin:0 0 .75rem}.vrs-variants-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.vrs-variant-card{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:2px solid var(--bs-border-color);border-radius:10px;cursor:pointer;padding:1rem;transition:border-color .2s,box-shadow .2s}.vrs-variant-card:hover{box-shadow:0 0 0 3px #6366f11f}.vrs-variant-card--selected,.vrs-variant-card:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.vrs-variant-card--selected{background:#6366f10d}.vrs-variant-card h5{color:#6366f1;color:var(--accent,#6366f1);font-size:.85rem;font-weight:700;margin:0 0 .5rem}.vrs-pipeline{align-items:flex-start;display:flex;gap:0;padding:1.25rem 0}.vrs-pipeline__step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.3rem;opacity:.4;transition:opacity .3s}.vrs-pipeline__step--active,.vrs-pipeline__step--done,.vrs-pipeline__step--failed{opacity:1}.vrs-pipeline__icon{align-items:center;background:#333;background:var(--bs-border-color,#333);border:2px solid #333;border:2px solid var(--bs-border-color,#333);border-radius:50%;display:flex;font-size:1.1rem;height:40px;justify-content:center;transition:all .3s;width:40px}.vrs-pipeline__step--done .vrs-pipeline__icon{background:#10b98126;border-color:#10b981;color:#10b981}.vrs-pipeline__step--active .vrs-pipeline__icon{animation:vrs-pulse 1.2s ease infinite;background:#6366f126;border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.vrs-pipeline__step--failed .vrs-pipeline__icon{background:#ef44441f;border-color:#ef4444;color:#ef4444}@keyframes vrs-pulse{0%,to{box-shadow:0 0 0 0 #6366f166}50%{box-shadow:0 0 0 8px #6366f100}}.vrs-pipeline__label{color:var(--bs-body-color);font-size:.77rem;font-weight:700}.vrs-pipeline__desc{color:var(--bs-secondary-color);font-size:.7rem;text-align:center}.vrs-pipeline__connector{background:#333;background:var(--bs-border-color,#333);flex:1 1;height:2px;margin-top:20px;transition:background .3s}.vrs-pipeline__connector--lit{background:#6366f1;background:var(--accent,#6366f1)}.vrs-gauge{display:flex;justify-content:center;padding:.75rem 0}.vrs-gauge__svg{height:130px;width:130px}.vrs-gauge__arc{transition:stroke-dashoffset .6s ease}.vrs-results-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr auto}@media (max-width:900px){.vrs-results-grid{grid-template-columns:1fr}}.vrs-results-meta{display:flex;flex-direction:column;gap:.75rem;min-width:200px}.vrs-history-table-wrap{background:var(--bs-body-bg);border-radius:0 0 12px 12px;border-radius:0 0 var(--radius-card,12px) var(--radius-card,12px);overflow-x:auto}.vrs-history-table{border-collapse:collapse;font-size:.83rem;width:100%}.vrs-history-table th{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border-bottom:1px solid var(--bs-border-color);color:var(--bs-secondary-color);cursor:pointer;font-size:.74rem;font-weight:700;letter-spacing:.05em;padding:.6rem 1rem;text-align:left;text-transform:uppercase;transition:color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.vrs-history-table th:hover{color:#6366f1;color:var(--accent,#6366f1)}.vrs-history-table td{background:var(--bs-body-bg);border-bottom:1px solid var(--bs-border-color);padding:.55rem 1rem;vertical-align:middle}.vrs-history-table tr:last-child td{border-bottom:none}.vrs-history-table tbody tr{cursor:pointer;transition:background .15s}.vrs-history-table tbody tr:hover td{background:#6366f10f}.vrs-history-table__detail-row td{background:#6366f10a;background:var(--bs-tertiary-bg,#6366f10a);padding:.75rem 1rem 1rem}.vrs-history-table__detail{font-size:.82rem}.vrs-badge-row{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.vrs-badge-ok{background:#10b98126;color:#10b981}.vrs-badge-fail,.vrs-badge-ok{border-radius:999px;font-size:.78rem;font-weight:700;padding:.2rem .55rem}.vrs-badge-fail{background:#ef44441f;color:#ef4444}.vrs-badge-msg{color:var(--bs-secondary-color);font-size:.78rem}.vrs-score-pill{font-family:Inter,system-ui;font-family:var(--font-sans,"Inter",system-ui);font-size:.88rem;font-weight:800}.vrs-lang-tag{background:#6366f11f;border-radius:5px;color:#6366f1;color:var(--accent,#6366f1);display:inline-block;font-size:.72rem;font-weight:600;margin:1px;padding:.1rem .4rem}.vrs-action-btn{background:none;border:1px solid var(--bs-border-color);border-radius:6px;color:var(--bs-body-color);cursor:pointer;font-size:.82rem;padding:.25rem .6rem;transition:all .2s}.vrs-action-btn:hover:not(:disabled){border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.vrs-action-btn:disabled{cursor:not-allowed;opacity:.4}.vrs-cal-results{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.vrs-cal-stat{background:#6366f112;border:1px solid #6366f133;border-radius:10px;flex:1 1;min-width:80px;padding:.85rem .5rem;text-align:center}.vrs-cal-stat__num{color:#6366f1;color:var(--accent,#6366f1);display:block;font-size:1.6rem;font-weight:800}.vrs-cal-stat__label{color:var(--bs-secondary-color);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.vrs-cal-stat--tp .vrs-cal-stat__num{color:#10b981}.vrs-cal-stat--fp .vrs-cal-stat__num{color:#ef4444}.vrs-provider-badge{background:#8b5cf61f;border:1px solid #8b5cf633;border-radius:999px;color:#8b5cf6;display:inline-block;font-size:.76rem;font-weight:600;padding:.2rem .6rem}.vrs-gen-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.vrs-query{display:flex;flex-direction:column;gap:1.25rem}.vrs-query-split{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}@media (max-width:1000px){.vrs-query-split{grid-template-columns:1fr}}.vrs-query-card{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1.25rem}.vrs-q-examples-label{color:var(--bs-secondary-color);font-size:.78rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.vrs-q-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.vrs-q-chip{background:#0000;border:1px solid var(--bs-border-color);border-radius:999px;color:var(--bs-secondary-color);cursor:pointer;font-size:.78rem;padding:.25rem .75rem;transition:all .18s}.vrs-q-chip:hover{border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.vrs-q-history-title{align-items:center;color:var(--bs-secondary-color);display:flex;font-size:.78rem;font-weight:600;gap:.4rem;letter-spacing:.05em;margin:.85rem 0 .5rem;text-transform:uppercase}.vrs-q-history-list{list-style:none;margin:0;padding:0}.vrs-q-history-item{align-items:center;background:none;border:none;border-radius:6px;color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.82rem;gap:.5rem;padding:.35rem .5rem;text-align:left;transition:background .15s;width:100%}.vrs-q-history-item:hover{background:#6366f112;color:#6366f1;color:var(--accent,#6366f1)}.vrs-q-section-title{color:var(--bs-secondary-color);font-size:.8rem;font-weight:700;letter-spacing:.05em;margin:0 0 .6rem;text-transform:uppercase}.vrs-q-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.vrs-q-run-btn,.vrs-q-translate-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;gap:.4rem;padding:.6rem 1.25rem;transition:all .2s}.vrs-q-translate-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.vrs-q-translate-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed)}.vrs-q-run-btn{background:#10b981;color:#fff}.vrs-q-run-btn:hover:not(:disabled){background:#059669}.vrs-q-run-btn:disabled,.vrs-q-translate-btn:disabled{cursor:not-allowed;opacity:.45}.vrs-q-dots span{animation:vrs-bounce 1.2s ease infinite;background:currentColor;border-radius:50%;display:inline-block;height:5px;margin:0 1.5px;width:5px}.vrs-q-dots span:nth-child(2){animation-delay:.2s}.vrs-q-dots span:nth-child(3){animation-delay:.4s}@keyframes vrs-bounce{0%,80%,to{opacity:.6;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.vrs-q-manual-editor{background:#0d1117;border:1px solid var(--bs-border-color);border-radius:8px;box-sizing:border-box;color:#e2e8f0;font-family:JetBrains Mono,Menlo,monospace;font-size:.83rem;margin-bottom:.5rem;min-height:120px;outline:none;padding:.75rem;resize:vertical;tab-size:2;width:100%}.vrs-q-manual-editor:focus{border-color:#6366f1;border-color:var(--accent,#6366f1)}.vrs-q-dsl-block{background:#0d1117;border:1px solid var(--bs-border-color);border-radius:8px;color:#e2e8f0;font-family:JetBrains Mono,Menlo,monospace;font-size:.81rem;line-height:1.6;margin-bottom:.5rem;overflow-x:auto;padding:.85rem;white-space:pre}.vrs-q-explain{background:#6366f10f;border-left:3px solid #6366f1;border-left:3px solid var(--accent,#6366f1);border-radius:8px;color:var(--bs-body-color);font-size:.86rem;line-height:1.5;margin-bottom:.75rem;padding:.75rem 1rem}.vrs-results-findings{background:var(--bs-body-bg);background:var(--bs-tertiary-bg,var(--bs-body-bg));border:1px solid var(--bs-border-color);border-radius:12px;border-radius:var(--radius-card,12px);padding:1.25rem}.vrs-results-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.vrs-results-badge{align-items:center;background:#6366f11f;border-radius:999px;color:#6366f1;color:var(--accent,#6366f1);display:inline-flex;font-size:.82rem;font-weight:700;padding:.25rem .75rem}.vrs-finding-row{align-items:flex-start;border-bottom:1px solid var(--bs-border-color);border-left:3px solid #0000;display:flex;font-size:.83rem;gap:.75rem;padding:.6rem 0 .6rem .65rem}.vrs-finding-row:last-child{border-bottom:none}.vrs-finding-sev{flex-shrink:0;font-size:.75rem;font-weight:700;min-width:60px}.vrs-finding-rule{color:#6366f1;color:var(--accent,#6366f1)}.vrs-finding-file,.vrs-finding-rule{font-family:monospace;font-size:.79rem;min-width:0}.vrs-finding-file{color:var(--bs-secondary-color);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vrs-finding-line{color:var(--bs-secondary-color);font-family:monospace;font-size:.77rem;min-width:45px}.vrs-finding-msg{color:var(--bs-body-color);flex:2 1;font-size:.83rem;line-height:1.4;min-width:0}.vrs-no-findings{color:#10b981;font-size:.9rem;font-weight:600;padding:1.25rem 2rem .5rem;text-align:center}.vrs-test-hint{background:#6366f112;border-left:3px solid #6366f1;border-left:3px solid var(--accent,#6366f1);border-radius:6px;color:var(--bs-body-color);font-size:.82rem;line-height:1.5;margin-top:.75rem;padding:.75rem 1rem}.vrs-test-hint code{background:#6366f11f;border-radius:4px;font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;padding:.1rem .35rem}.vrs-hint-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.vrs-hint-chip{background:#6366f11a;border:1px solid #6366f133;border-radius:5px;color:var(--bs-body-color);display:inline-block;font-family:JetBrains Mono,Menlo,monospace;font-size:.76rem;padding:.15rem .5rem}.vrs-hint-chip em{color:#6366f1;color:var(--accent,#6366f1);font-style:normal;font-weight:600;margin-right:.3rem}.vrs-raw-output{background:#0d1117;border:1px solid var(--bs-border-color);border-radius:6px;color:#8b9ac0;font-family:JetBrains Mono,Menlo,monospace;font-size:.75rem;line-height:1.5;margin-top:.5rem;max-height:200px;overflow-x:auto;overflow-y:auto;padding:.75rem 1rem;white-space:pre-wrap}.vrs-joern{gap:1rem}.vrs-joern,.vrs-joern-header-card{display:flex;flex-direction:column}.vrs-joern-header-card{gap:.875rem}.vrs-joern-header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.vrs-joern-badge{background:#818cf826;border:1px solid #818cf84d;border-radius:100px;color:#818cf8;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.07em;margin-bottom:.5rem;padding:.2rem .65rem;text-transform:uppercase}.vrs-joern-title{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .35rem}.vrs-joern-desc{color:var(--bs-secondary-color);font-size:.82rem;line-height:1.55;margin:0}.vrs-joern-header-links{display:flex;flex-direction:column;flex-shrink:0;gap:.35rem}.vrs-joern-doc-link{border:1px solid #6366f1;border:1px solid var(--accent,#6366f1);border-radius:6px;color:#6366f1;color:var(--accent,#6366f1);font-size:.75rem;font-weight:600;padding:.25rem .65rem;text-decoration:none;transition:background .15s;white-space:nowrap}.vrs-joern-doc-link:hover{background:#6366f11a;background:var(--accent-light,#6366f11a)}.vrs-joern-target-row{align-items:center;display:flex;flex-wrap:wrap;gap:.625rem}.vrs-joern-target-select{flex-shrink:0;max-width:220px;padding:0 .625rem}.vrs-joern-target-input,.vrs-joern-target-select{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:8px;color:var(--bs-body-color);font-size:.8125rem;height:34px}.vrs-joern-target-input{flex:1 1;font-family:var(--font-mono);min-width:200px;padding:0 .75rem}.vrs-joern-target-input:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f126;outline:none}.vrs-joern-split{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:1100px){.vrs-joern-split{grid-template-columns:1fr}}.vrs-joern-left,.vrs-joern-right{display:flex;flex-direction:column;gap:.75rem}.vrs-joern-editor-header{align-items:center;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);display:flex;justify-content:space-between;padding:.625rem .875rem}.vrs-joern-editor-label{color:var(--bs-secondary-color);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.vrs-joern-editor-footer{align-items:center;background:var(--bs-tertiary-bg);border-top:1px solid var(--bs-border-color);display:flex;gap:.5rem;justify-content:space-between;padding:.5rem .875rem}.vrs-joern-highlight-layer{color:#0000;left:0;margin:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;-webkit-user-select:none;user-select:none;white-space:pre-wrap;word-break:break-word}.vrs-joern-editor,.vrs-joern-highlight-layer{font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:.82rem;line-height:1.6;padding:.75rem}.vrs-joern-editor{background:#0d1117;border:none;caret-color:#a78bfa;color:#e2e8f0;display:block;min-height:140px;outline:none;overflow-x:auto;position:relative;resize:vertical;tab-size:2;white-space:pre;width:100%}[data-bs-theme=light] .vrs-joern-editor{background:#f8fafc;color:#1e293b}.vrs-joern-collapsible{overflow:hidden;padding:0!important}.vrs-joern-collapsible-hdr{align-items:center;background:none;border:none;color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;padding:.75rem 1rem;text-align:left;transition:background .13s;width:100%}.vrs-joern-collapsible-hdr:hover{background:#6366f112;background:var(--accent-light,#6366f112)}.vrs-joern-examples{border-top:1px solid var(--bs-border-color);display:flex;flex-direction:column}.vrs-joern-example-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--bs-border-color-translucent);color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;justify-content:space-between;padding:.5rem 1rem;text-align:left;transition:background .13s;width:100%}.vrs-joern-example-item:hover{background:#6366f114;background:var(--accent-light,#6366f114)}.vrs-joern-example-label{font-weight:500}.vrs-joern-example-lang{background:var(--bs-tertiary-bg);border-radius:100px;color:var(--bs-secondary-color);flex-shrink:0;font-size:.65rem;padding:.1rem .5rem}.vrs-joern-history-list{border-top:1px solid var(--bs-border-color);list-style:none;margin:0;padding:0}.vrs-joern-history-item button{background:none;border:none;border-bottom:1px solid var(--bs-border-color-translucent);cursor:pointer;display:flex;flex-direction:column;gap:.15rem;padding:.5rem 1rem;text-align:left;transition:background .13s;width:100%}.vrs-joern-history-item button:hover{background:#6366f114;background:var(--accent-light,#6366f114)}.vrs-joern-history-code{color:#6366f1;color:var(--accent,#6366f1);font-family:var(--font-mono);font-size:.75rem}.vrs-joern-history-meta{color:var(--bs-secondary-color);font-size:.68rem}.vrs-joern-results-card{display:flex;flex-direction:column;min-height:240px;overflow:hidden;padding:0!important}.vrs-joern-results-hdr{align-items:center;background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);display:flex;justify-content:space-between;padding:.625rem .875rem}.vrs-joern-result-count{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:100px;color:var(--bs-secondary-color);font-size:.75rem;font-weight:700;padding:.15rem .6rem}.vrs-joern-result-count--hit{background:#6366f11f;border-color:#6366f14d;color:#6366f1;color:var(--accent,#6366f1)}.vrs-joern-empty{align-items:center;color:var(--bs-secondary-color);display:flex;flex:1 1;flex-direction:column;font-size:.85rem;justify-content:center;padding:3rem 1rem;text-align:center}.vrs-joern-spinner{animation:joern-spin .8s linear infinite;border-top-color:#6366f1;border:3px solid var(--bs-border-color);border-radius:50%;border-top-color:var(--accent,#6366f1);height:28px;width:28px}@keyframes joern-spin{to{transform:rotate(1turn)}}.vrs-joern-ref{border-top:1px solid var(--bs-border-color);display:flex;flex-direction:column;gap:1rem;padding:.75rem 1rem}.vrs-joern-ref-category{color:var(--bs-secondary-color);font-size:.65rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.vrs-joern-ref-item{align-items:baseline;display:flex;gap:.75rem;margin-bottom:.35rem}.vrs-joern-ref-name{background:#818cf81a;border-radius:4px;color:#a78bfa;cursor:pointer;flex-shrink:0;font-family:var(--font-mono);font-size:.75rem;font-weight:600;padding:.1rem .4rem;transition:background .13s}.vrs-joern-ref-name:hover{background:#818cf838}.vrs-joern-ref-desc{color:var(--bs-secondary-color);font-size:.75rem}.vrs-btn--sm{font-size:.75rem!important;padding:.25rem .6rem!important}.va-page{background:#0f1117;background:var(--va-bg,#0f1117);color:#e2e8f0;color:var(--va-text,#e2e8f0);display:flex;flex-direction:column;font-family:Inter,sans-serif;height:100vh;overflow:hidden}.va-xp-header{align-items:center;background:#161b22;border-bottom:1px solid #30363d;display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:12px;padding:10px 20px}.va-xp-bar-container{background:#21262d;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.va-xp-bar-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;height:100%;transition:width .5s ease}.va-layout{display:flex;flex:1 1;overflow:hidden}.va-sidebar{background:#1a1d21;border-right:1px solid #30363d;flex-shrink:0;overflow-y:auto;padding:16px 0;width:280px}.va-level-section{margin-bottom:8px}.va-level-header{align-items:center;color:#6b7280;display:flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.08em;padding:8px 16px;text-transform:uppercase}.va-level-xp-total{font-feature-settings:"tnum";color:#4ade80;font-size:10px;font-variant-numeric:tabular-nums;font-weight:600}.va-lesson-item{align-items:center;border-left:3px solid #0000;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:8px 16px;transition:all .15s ease}.va-lesson-item:hover{background:#21262d}.va-lesson-item.active{background:#6366f11f;border-left-color:#6366f1;color:#a5b4fc}.va-lesson-item.completed .va-lesson-status{color:#22c55e}.va-lesson-title{flex:1 1;line-height:1.3}.va-lesson-xp{font-feature-settings:"tnum";color:#6b7280;font-size:11px;font-variant-numeric:tabular-nums}.va-lesson-status{flex-shrink:0;font-size:14px;text-align:center;width:16px}.va-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.va-tabs{background:#161b22;border-bottom:1px solid #30363d;display:flex;flex-shrink:0}.va-tab{background:none;border:none;border-bottom:2px solid #0000;color:#8b949e;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;padding:12px 20px;transition:all .15s}.va-tab:hover{color:#e2e8f0}.va-tab.active{border-bottom-color:#6366f1;color:#a5b4fc}.va-content{flex:1 1;overflow-y:auto;padding:24px}.va-theory{font-size:14px;line-height:1.8;max-width:760px}.va-theory h2{border-bottom:1px solid #30363d;color:#e2e8f0;font-size:18px;font-weight:700;margin-bottom:12px;margin-top:0;padding-bottom:8px}.va-theory h3{color:#a5b4fc;font-size:15px;font-weight:600;margin:16px 0 8px}.va-theory p{color:#c9d1d9;margin:8px 0}.va-theory table{border-collapse:collapse;font-size:13px;margin:12px 0;width:100%}.va-theory td,.va-theory th{border:1px solid #30363d;padding:8px 12px;text-align:left}.va-theory th{background:#21262d;color:#a5b4fc;font-weight:600}.va-theory td{color:#c9d1d9}.va-code-inline{background:#21262d;border:1px solid #30363d;border-radius:4px;color:#f0abfc;padding:1px 6px}.va-code-block,.va-code-inline{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.va-code-block{background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;line-height:1.6;margin:12px 0;overflow-x:auto;padding:16px;white-space:pre}.va-exercise{max-width:900px}.va-lesson-header{margin-bottom:20px}.va-lesson-meta{align-items:center;display:flex;font-size:12px;gap:8px;margin-bottom:8px}.va-level-badge{border-radius:12px;font-size:11px;font-weight:600;padding:2px 8px}.va-level-badge.novice{background:#22c55e26;color:#4ade80}.va-level-badge.beginner{background:#eab30826;color:#facc15}.va-level-badge.intermediate{background:#ef444426;color:#f87171}.va-level-badge.advanced{background:#a855f726;color:#c084fc}.va-level-badge.expert{background:#fb923c26;color:#fb923c}.va-xp-badge{font-feature-settings:"tnum";color:#6b7280;font-size:11px;font-variant-numeric:tabular-nums}.va-module-label{color:#6b7280;font-size:11px}.va-lesson-title-main{color:#e2e8f0;font-size:20px;font-weight:700;margin:0}.va-task-box{background:#6366f114;border-left:3px solid #6366f1;border-radius:0 8px 8px 0;color:#c9d1d9;font-size:14px;line-height:1.6;margin-bottom:20px;padding:14px 18px}.va-task-label{color:#6366f1;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.va-snippet-box{background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.6;margin-bottom:20px;overflow-x:auto;padding:16px;white-space:pre}.va-snippet-label{align-items:center;color:#6b7280;display:flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.va-lang-badge{background:#21262d;border:1px solid #30363d;border-radius:4px;color:#8b949e;font-family:Inter,sans-serif;font-size:11px;padding:1px 8px;text-transform:lowercase}.va-editor-section{margin-bottom:0}.va-editor-label{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.va-rule-editor{background:#0d1117;border:1px solid #30363d;border-radius:8px;box-sizing:border-box;color:#c9d1d9;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.6;min-height:220px;padding:16px;resize:vertical;transition:border-color .15s;width:100%}.va-rule-editor:focus{border-color:#6366f1;outline:none}.va-controls{flex-wrap:wrap;gap:10px;margin-top:16px}.va-btn,.va-controls{align-items:center;display:flex}.va-btn{border:none;border-radius:8px;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;gap:6px;padding:9px 18px;transition:all .15s}.va-btn:disabled{cursor:not-allowed;opacity:.5}.va-btn-run{background:#22c55e;color:#fff}.va-btn-run:hover:not(:disabled){background:#16a34a}.va-btn-hint{background:#21262d;border:1px solid #30363d;color:#f0abfc}.va-btn-hint:hover:not(:disabled){background:#30363d}.va-btn-solution{background:#0000;border:1px solid #30363d;color:#6b7280}.va-btn-solution:hover:not(:disabled){border-color:#6b7280;color:#e2e8f0}.va-hints-count{color:#6b7280;font-size:11px;margin-left:auto}.va-hint-box{background:#f0abfc12;border:1px solid #f0abfc33;border-radius:8px;font-size:13px;line-height:1.6;margin-top:16px;padding:14px 18px}.va-hint-label{color:#f0abfc;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.va-hint-list{list-style:none;margin:0;padding:0}.va-hint-list li{color:#e2e8f0;display:flex;gap:8px;padding:4px 0}.va-hint-list li:before{color:#f0abfc;content:"→";flex-shrink:0}.va-solution-box{background:#6366f10f;border:1px solid #6366f14d;border-radius:8px;margin-top:16px;padding:16px}.va-solution-label{color:#6366f1;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.va-solution-code{background:#0d1117;border-radius:6px;color:#c9d1d9;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;overflow-x:auto;padding:14px;white-space:pre}.va-results{border-top:1px solid #30363d;flex-shrink:0;max-height:45vh;overflow-y:auto;padding:20px 24px}.va-result-banner{align-items:center;border-radius:10px;display:flex;font-size:15px;font-weight:700;gap:12px;justify-content:space-between;margin-bottom:16px;padding:14px 20px}.va-result-banner.passed{background:#22c55e26;border:1px solid #22c55e4d;color:#4ade80}.va-result-banner.failed{background:#ef44441f;border:1px solid #ef444440;color:#f87171}.va-result-banner-left{align-items:center;display:flex;gap:10px}.va-xp-earned{background:#22c55e33;border-radius:20px;color:#4ade80;font-size:13px;padding:3px 12px}.va-result-message{color:#8b949e;font-size:13px;font-weight:400;margin-bottom:14px}.va-findings-label{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.va-finding-card{background:#161b22;border:1px solid #30363d;border-radius:8px;font-size:13px;margin-bottom:10px;padding:12px 16px}.va-finding-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.va-sev-badge{border-radius:10px;font-size:11px;font-weight:700;padding:2px 8px}.va-sev-badge.critical{background:#ef444433;color:#f87171}.va-sev-badge.high{background:#f9731633;color:#fb923c}.va-sev-badge.medium{background:#eab30833;color:#facc15}.va-sev-badge.low{background:#6366f133;color:#a5b4fc}.va-sev-badge.info{background:#6b728033;color:#9ca3af}.va-finding-line{color:#6b7280;font-size:12px}.va-finding-snippet{background:#0d1117;border-radius:6px;color:#c9d1d9;font-family:JetBrains Mono,monospace;font-size:11px;padding:8px 12px;white-space:pre-wrap;word-break:break-all}.va-btn-next{background:linear-gradient(90deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-family:Inter,sans-serif;font-size:14px;font-weight:700;margin-top:8px;padding:10px 24px;transition:opacity .15s}.va-btn-next:hover{opacity:.9}.va-result-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}@keyframes va-sparkle{0%{opacity:1;transform:scale(0) rotate(0deg)}50%{opacity:.8;transform:scale(1.2) rotate(180deg)}to{opacity:0;transform:scale(0) rotate(1turn)}}@keyframes va-confetti-fall{0%{opacity:1;transform:translateY(-10px) rotate(0deg)}to{opacity:0;transform:translateY(60px) rotate(2turn)}}.va-celebrate:after,.va-celebrate:before{animation:va-confetti-fall 1.5s ease-out forwards;color:#fbbf24;content:"✦ ✧ ★ ✦ ✧";font-size:20px;left:50%;pointer-events:none;position:absolute;top:-20px;transform:translateX(-50%)}.va-celebrate{overflow:visible;position:relative}.va-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:14px;gap:16px;height:100%;justify-content:center}.va-empty-icon{font-size:48px;opacity:.5}.va-spinner{animation:va-spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes va-spin{to{transform:rotate(1turn)}}.va-completed-all{background:#22c55e12;border-radius:0 0 8px 8px;border-top:1px solid #30363d;color:#4ade80;font-size:16px;font-weight:700;padding:20px 24px;text-align:center}@media (max-width:768px){.va-layout{flex-direction:column}.va-sidebar{border-bottom:1px solid #30363d;border-right:none;height:200px;width:100%}.va-xp-header{font-size:12px;padding:8px 14px}}.vigil-trace{padding:1.75rem 2.5rem 4rem}.vigil-trace-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.25rem}.vigil-trace-header h2{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans);margin-bottom:.25rem}.vigil-trace-header-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem;padding-top:.25rem}.vigil-trace-subtitle{color:var(--bs-secondary-color);font-size:.9rem;margin-bottom:1.5rem}.vigil-trace-overall{align-items:center;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.vigil-trace-overall-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.vigil-trace-overall-value{color:#6366f1;color:var(--accent,#6366f1);font-family:var(--font-sans);font-size:1.6rem;font-weight:800}.vigil-trace-overall-label{color:var(--bs-secondary-color);font-size:.76rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.vigil-trace-overall-divider{background:var(--bs-border-color);height:2.5rem;width:1px}.vigil-trace-overall-breakdown{display:flex;font-size:.92rem;font-weight:600;gap:.75rem}.vigil-trace-bd-clickable{border-radius:4px;cursor:pointer;padding:1px 4px;transition:opacity var(--transition)}.vigil-trace-bd-clickable:hover{opacity:.75;text-decoration:underline}.vigil-trace-bd-hint{font-size:.68rem;font-weight:400;letter-spacing:0;opacity:.55;text-transform:none}.vigil-trace-bd-detected{color:#16a34a}.vigil-trace-bd-partial{color:#ca8a04}.vigil-trace-bd-notdet{color:#dc2626}.vigil-trace-bd-na{color:var(--bs-secondary-color)}.vigil-trace-btn{border:none;border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;font-family:var(--font-sans);font-size:.82rem;font-weight:600;padding:.4rem 1rem;transition:background var(--transition),opacity var(--transition);white-space:nowrap}.vigil-trace-btn:disabled{cursor:not-allowed;opacity:.55}.vigil-trace-btn-primary{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.vigil-trace-btn-primary:hover:not(:disabled){background:#4f52d9}.vigil-trace-btn-secondary{background:#0000000f;background:var(--bs-tertiary-bg,#0000000f);border:1px solid var(--bs-border-color);color:var(--bs-body-color)}.vigil-trace-btn-secondary:hover:not(:disabled){background:var(--bs-secondary-bg)}.vigil-trace-btn-export{background:#22c55e1f;border:1px solid #22c55e40;color:#16a34a}.vigil-trace-btn-export:hover:not(:disabled){background:#22c55e33}.vigil-trace-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.vigil-trace-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;padding:1.25rem 1rem;position:relative;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.vigil-trace-card:before{background:var(--bs-border-color);content:"";height:3px;left:0;position:absolute;right:0;top:0;transition:background var(--transition)}.vigil-trace-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.vigil-trace-card.active:before,.vigil-trace-card:hover:before{background:#6366f1;background:var(--accent,#6366f1)}.vigil-trace-card.active{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 2px #6366f126,var(--shadow-elevated)}.vigil-trace-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.vigil-trace-card-name{align-items:center;color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));display:flex;font-family:var(--font-sans);font-size:1rem;font-weight:700;gap:.5rem}.vigil-trace-card-langicon{font-size:1.3rem}.vigil-trace-card-counts{display:flex;flex-wrap:wrap;gap:.6rem}.vigil-trace-cnt{font-size:.78rem;font-weight:600;white-space:nowrap}.vigil-trace-cnt.detected{color:#16a34a}.vigil-trace-cnt.partial{color:#ca8a04}.vigil-trace-cnt.not-detected{color:#dc2626}.vigil-trace-cnt.na{color:var(--bs-secondary-color)}.vigil-trace-gauge{flex-shrink:0}.vigil-trace-tabs{border-bottom:2px solid var(--bs-border-color);display:flex;gap:.25rem;margin-bottom:1rem;padding-bottom:0}.vigil-trace-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--bs-secondary-color);cursor:pointer;font-family:var(--font-sans);font-size:.88rem;font-weight:600;margin-bottom:-2px;padding:.55rem 1rem;transition:color var(--transition),border-color var(--transition)}.vigil-trace-tab.active,.vigil-trace-tab:hover{color:#6366f1;color:var(--accent,#6366f1)}.vigil-trace-tab.active{border-bottom-color:#6366f1;border-bottom-color:var(--accent,#6366f1)}.vigil-trace-filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.vigil-trace-search{border-radius:var(--radius-sm)!important;flex:1 1;font-family:var(--font-sans);min-width:200px;transition:border-color var(--transition),box-shadow var(--transition)}.vigil-trace-search:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f126}.vigil-trace-chips{display:flex;flex-wrap:wrap;gap:.5rem}.vigil-trace-chip{background:#0000;border:1px solid var(--bs-border-color);border-radius:20px;color:var(--bs-body-color);cursor:pointer;font-size:.82rem;font-weight:500;padding:.3rem .85rem;transition:all var(--transition)}.vigil-trace-chip:hover{color:#6366f1;color:var(--accent,#6366f1)}.vigil-trace-chip.active,.vigil-trace-chip:hover{border-color:#6366f1;border-color:var(--accent,#6366f1)}.vigil-trace-chip.active{background:#6366f1;background:var(--accent,#6366f1);color:#fff}.vigil-trace-sev-select{border-radius:var(--radius-sm)!important;font-family:var(--font-sans);font-size:.85rem;min-width:140px;width:auto}.vigil-trace-table-wrapper{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:auto}.vigil-trace-table{border-collapse:collapse;font-family:var(--font-sans);font-size:.88rem;width:100%}.vigil-trace-table th{border-bottom:2px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.75rem;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.vigil-trace-table th.sortable{cursor:pointer}.vigil-trace-table th.sortable:hover{color:#6366f1;color:var(--accent,#6366f1)}.vigil-trace-table td{border-bottom:1px solid var(--bs-border-color);padding:.65rem .75rem;vertical-align:middle}.vigil-trace-table tbody tr{transition:background var(--transition)}.vigil-trace-table tbody tr:nth-child(2n){background:#00000005;background:var(--bs-tertiary-bg,#00000005)}.vigil-trace-table tbody tr:hover{background:#6366f10f}.vigil-trace-sort-icon{display:inline-block;font-size:.7rem;margin-left:.25rem;opacity:.6}.vigil-trace-status{align-items:center;border-radius:12px;display:inline-flex;font-size:.76rem;font-weight:600;gap:.3rem;padding:.2rem .65rem;white-space:nowrap}.vigil-trace-status-detected{background:#22c55e1f;color:#16a34a}.vigil-trace-status-partial{background:#ca8a041f;color:#ca8a04}.vigil-trace-status-not_detected{background:#dc26261f;color:#dc2626}.vigil-trace-status-not_applicable{background:#6b72801f;color:#6b7280}.vigil-trace-vuln-name{cursor:default;font-weight:500;position:relative}.vigil-trace-tooltip{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);bottom:calc(100% + 6px);box-shadow:var(--shadow-elevated);color:var(--bs-body-color);font-size:.8rem;font-weight:400;left:0;max-width:350px;padding:.5rem .75rem;pointer-events:none;position:absolute;white-space:normal;z-index:100}.vigil-trace-tooltip-code{max-width:450px}.vigil-trace-tooltip-code code{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--font-mono,"JetBrains Mono","Fira Code",monospace);font-size:.75rem;white-space:pre-wrap;word-break:break-all}.vigil-trace-cwe-badge{background:#6366f11a;border-radius:6px;display:inline-block;font-family:monospace;font-family:var(--font-mono,monospace);font-size:.76rem;font-weight:600;padding:.15rem .5rem;transition:background var(--transition)}.vigil-trace-cwe-badge,.vigil-trace-cwe-badge:hover{color:#6366f1;color:var(--accent,#6366f1);text-decoration:none}.vigil-trace-cwe-badge:hover{background:#6366f133}.vigil-trace-owasp-badge{background:#2563eb1a;border-radius:6px;color:#2563eb;display:inline-block;font-size:.76rem;font-weight:600;padding:.15rem .5rem}.vigil-trace-sev-chip{border-radius:10px;display:inline-block;font-size:.76rem;font-weight:700;padding:.18rem .55rem;text-transform:capitalize;white-space:nowrap}.vigil-trace-rule-link{color:#6366f1;color:var(--accent,#6366f1);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.8rem;font-weight:500;text-decoration:none}.vigil-trace-rule-link:hover{text-decoration:underline}.vigil-trace-no-rule{color:var(--bs-secondary-color)}.vigil-trace-evidence{cursor:default;position:relative}.vigil-trace-evidence-file{background:#0000000a;background:var(--bs-tertiary-bg,#0000000a);border-radius:4px;padding:.12rem .4rem}.vigil-trace-app-badge{align-items:center;display:inline-flex;font-size:.82rem;font-weight:500;gap:.3rem}.vigil-trace-empty{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:3rem 1.5rem;text-align:center}.vigil-trace-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.vigil-trace-empty-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.vigil-trace-empty-desc{color:var(--bs-secondary-color);font-size:.9rem;margin-bottom:1.25rem}.vigil-trace-no-results{color:var(--bs-secondary-color);font-size:.9rem;padding:2rem;text-align:center}.vigil-trace-loading{color:var(--bs-secondary-color);font-size:.95rem;gap:.5rem;padding:3rem}.vigil-trace-error,.vigil-trace-loading{align-items:center;display:flex;justify-content:center}.vigil-trace-error{background:#dc262614;border:1px solid #dc262633;border-radius:var(--radius-card);color:#dc2626;font-size:.9rem;gap:1rem;margin-bottom:1rem;padding:1rem 1.5rem}.vigil-trace-retry-btn{background:#dc2626;border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:.35rem 1rem;transition:background var(--transition)}.vigil-trace-retry-btn:hover{background:#b91c1c}@media (max-width:992px){.vigil-trace-cards{grid-template-columns:repeat(2,1fr)}.vigil-trace-overall{gap:1rem}}@media (max-width:576px){.vigil-trace-cards{grid-template-columns:1fr}.vigil-trace-filters{align-items:stretch;flex-direction:column}.vigil-trace-tabs{overflow-x:auto}.vigil-trace-overall{flex-direction:column;text-align:center}.vigil-trace-overall-divider{height:1px;width:80%}}[data-bs-theme=dark] .vigil-trace-card{border-color:#ffffff14}[data-bs-theme=dark] .vigil-trace-card.active{border-color:#6366f1;border-color:var(--accent,#6366f1)}[data-bs-theme=dark] .vigil-trace-overall{border-color:#ffffff14}[data-bs-theme=dark] .vigil-trace-chip{border-color:#ffffff1f}[data-bs-theme=dark] .vigil-trace-table-wrapper{border-color:#ffffff14}[data-bs-theme=dark] .vigil-trace-table th{border-bottom-color:#ffffff1a}[data-bs-theme=dark] .vigil-trace-table td{border-bottom-color:#ffffff0f}[data-bs-theme=dark] .vigil-trace-table tbody tr:nth-child(2n){background:#ffffff05}[data-bs-theme=dark] .vigil-trace-table tbody tr:hover{background:#6366f11a}[data-bs-theme=dark] .vigil-trace-status-detected{background:#22c55e26}[data-bs-theme=dark] .vigil-trace-status-partial{background:#ca8a0426}[data-bs-theme=dark] .vigil-trace-status-not_detected{background:#dc262626}[data-bs-theme=dark] .vigil-trace-status-not_applicable{background:#6b728026}[data-bs-theme=dark] .vigil-trace-empty{border-color:#ffffff14}[data-bs-theme=dark] .vigil-trace-tooltip{border-color:#ffffff1f}[data-bs-theme=dark] .vigil-trace-evidence-file{background:#ffffff0f}[data-bs-theme=dark] .vigil-trace-error{background:#dc26261f;border-color:#dc262640}.vigil-trace-table thead th{background:var(--bs-body-bg);position:sticky;top:0;z-index:2}.vigil-trace-card-progress-wrap{background:var(--bs-border-color);border-radius:3px;height:5px;margin-top:.75rem;overflow:visible;position:relative}.vigil-trace-card-progress-fill{border-radius:3px;height:100%;transition:width .8s ease}.vigil-trace-card-progress-target{background:#6366f1;background:var(--accent,#6366f1);border-radius:1px;height:11px;left:80%;opacity:.7;position:absolute;top:-3px;width:2px}.vigil-trace-row-count{color:var(--bs-secondary-color);font-size:.8rem;margin-bottom:.5rem}.vigil-trace-row-count-total{opacity:.6}.vigil-trace-row-expandable{cursor:pointer}.vigil-trace-row-expandable:hover td{background:#6366f10f!important}.vigil-trace-row-open td{background:#6366f10d!important}.vigil-trace-expand-cell{padding:0 .25rem!important;text-align:center;width:28px}.vigil-trace-expand-icon{color:var(--bs-secondary-color);display:inline-block;font-size:1.1rem;font-weight:700;line-height:1;transition:transform .2s ease,color .2s ease}.vigil-trace-expand-icon.open{color:#6366f1;color:var(--accent,#6366f1);transform:rotate(90deg)}.vigil-trace-detail-td{border-bottom:2px solid #6366f1!important;border-bottom:2px solid var(--accent,#6366f1)!important;padding:0!important}.vigil-trace-detail-panel{background:rgba(0,0,0,.025);background:var(--bs-tertiary-bg,rgba(0,0,0,.025));display:flex;flex-wrap:wrap;gap:1rem;overflow:hidden;padding:1rem 1.5rem 1rem 2.5rem}.vigil-trace-detail-section{display:flex;flex:1 1;flex-direction:column;gap:3px;max-width:500px;min-width:200px}.vigil-trace-detail-label{color:var(--bs-secondary-color);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vigil-trace-detail-text{color:var(--bs-body-color);font-size:.85rem;line-height:1.45}.vigil-trace-detail-notes{color:var(--bs-secondary-color);font-style:italic}.vigil-trace-snippet-block{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:6px;border-radius:var(--radius-sm,6px);color:var(--bs-body-color);font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.78rem;margin:0;max-width:500px;padding:.5rem .75rem;white-space:pre-wrap;word-break:break-all}.vigil-trace-pagination{align-items:center;border-top:1px solid var(--bs-border-color);display:flex;gap:.25rem;justify-content:center;padding:.85rem 1rem}.vigil-trace-page-btn{background:none;border:1px solid var(--bs-border-color);border-radius:6px;color:var(--bs-body-color);cursor:pointer;font-family:var(--font-sans);font-size:.82rem;min-width:32px;padding:.3rem .65rem;transition:all var(--transition)}.vigil-trace-page-btn:hover:not(:disabled){border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.vigil-trace-page-btn.active{background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#fff;font-weight:700}.vigil-trace-page-btn:disabled{cursor:not-allowed;opacity:.35}.vigil-trace-page-info{color:var(--bs-secondary-color);font-size:.8rem;margin-left:.5rem}[data-bs-theme=dark] .vigil-trace-detail-panel{background:#ffffff08}[data-bs-theme=dark] .vigil-trace-snippet-block{background:#ffffff0a;border-color:#ffffff1a}[data-bs-theme=dark] .vigil-trace-page-btn{border-color:#ffffff1f}[data-bs-theme=dark] .vigil-trace-btn-secondary{background:#ffffff0f;border-color:#ffffff1f}.vigil-trace-vuln-cell{display:flex;flex-direction:column;gap:2px}.vigil-trace-vuln-name{color:var(--bs-body-color);font-size:.88rem;font-weight:600}.vigil-trace-vuln-desc{color:#6b7280;color:var(--bs-secondary-color,#6b7280);font-size:.78rem;line-height:1.35;max-width:400px}.vigil-trace-vuln-notes{color:#9ca3af;color:var(--bs-tertiary-color,#9ca3af);font-size:.72rem;font-style:italic;margin-top:1px}.vigil-trace-card-lang{color:#6b7280;color:var(--bs-secondary-color,#6b7280);font-size:.72rem;margin-left:4px}.vigil-trace-rule-cell{display:flex;flex-direction:column;gap:2px}.vigil-trace-rule-pack{color:#6b7280;color:var(--bs-secondary-color,#6b7280);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.7rem}.vigil-trace-evidence-cell{display:flex;flex-direction:column;gap:3px;max-width:300px}.vigil-trace-evidence-file{color:var(--bs-body-color);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.78rem;word-break:break-all}.vigil-trace-evidence-snippet{background:#0000000a;background:var(--bs-tertiary-bg,#0000000a);border-radius:4px;color:#9ca3af;color:var(--bs-secondary-color,#9ca3af);display:block;font-size:.72rem;max-width:300px;overflow:hidden;padding:3px 6px;text-overflow:ellipsis;white-space:pre-wrap;word-break:break-all}.vigil-trace-row-detected td:first-child{border-left:3px solid #16a34a}.vigil-trace-row-partial td:first-child{border-left:3px solid #ca8a04}.vigil-trace-row-not_detected td:first-child{border-left:3px solid #dc2626}.vigil-trace-row-not_applicable td:first-child{border-left:3px solid #6b7280}.vdr-root{padding:1.75rem 2.5rem 4rem}.vdr-header{margin-bottom:1.5rem}.vdr-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.vdr-title{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-family:var(--font-sans);font-size:1.75rem;font-weight:800;margin:0}.vdr-subtitle{font-size:.92rem;margin:.25rem 0 0}.vdr-stamp,.vdr-subtitle{color:var(--bs-secondary-color)}.vdr-stamp{background:#0000000a;background:var(--bs-tertiary-bg,#0000000a);border:1px solid var(--bs-border-color);border-radius:6px;display:inline-block;font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.2rem .65rem}.vdr-print-btn{align-items:center;background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;padding:.45rem 1.1rem;transition:background .18s,transform .18s}.vdr-print-btn:hover{background:#4f46e5;transform:translateY(-1px)}.vdr-layout{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:220px 1fr}.vdr-toc{background:#1a1a2e;border:1px solid #ffffff0f;border-radius:12px;box-shadow:0 2px 12px #0000002e;padding:1rem .5rem;position:sticky;top:1.5rem}.vdr-toc-title{color:#ffffff73;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;padding:0 .625rem;text-transform:uppercase}.vdr-toc a{border-radius:6px;color:#ffffffa6;display:block;font-size:.78rem;line-height:1.5;margin-bottom:1px;padding:.3rem .625rem;text-decoration:none;transition:background .15s,color .15s}.vdr-toc a:hover{background:#6366f126;color:#fff}.vdr-toc a.active{background:#6366f133;color:#a5b4fc;font-weight:600}.vdr-content section{margin-bottom:2.5rem;scroll-margin-top:1.5rem}.vdr-section-heading{align-items:center;border-bottom:2px solid var(--bs-border-color);display:flex;font-size:1.375rem;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem}.vdr-section-heading,.vdr-subheading{color:var(--bs-body-color);color:var(--bs-heading-color,var(--bs-body-color));font-weight:700}.vdr-subheading{font-size:1.05rem;margin:1.5rem 0 .5rem}.vdr-body-text{color:var(--bs-body-color);font-size:.92rem;line-height:1.75;margin-bottom:.75rem}.vdr-code-block{background:#1e1e1e;border:1px solid #ffffff0f;border-radius:.5rem;color:#d4d4d4;font-family:JetBrains Mono,Menlo,Fira Code,monospace;font-size:.8rem;line-height:1.55;margin-bottom:1rem;overflow-x:auto;padding:1rem;white-space:pre}.vdr-table-wrapper{border:1px solid var(--bs-border-color);border-radius:8px;box-shadow:0 1px 4px #0000000f;margin-bottom:1rem;overflow-x:auto}.vdr-table{border-collapse:collapse;font-family:var(--font-sans);font-size:.85rem;width:100%}.vdr-table th{background:#00000008;background:var(--bs-tertiary-bg,#00000008);border-bottom:2px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.76rem;font-weight:700;letter-spacing:.04em;padding:.65rem .75rem;text-transform:uppercase;white-space:nowrap}.vdr-table td{border-bottom:1px solid var(--bs-border-color);color:var(--bs-body-color);padding:.55rem .75rem;vertical-align:middle}.vdr-table tbody tr:nth-child(2n){background:#00000005;background:var(--bs-tertiary-bg,#00000005)}.vdr-table tbody tr:hover{background:#6366f10f}.vdr-table .mono{font-family:JetBrains Mono,Menlo,monospace;font-size:.82rem}.vdr-table .right{text-align:right}.vdr-badge{border-radius:100px;display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .55rem;text-transform:capitalize;white-space:nowrap}.vdr-badge-critical{background:#dc26261f;color:#dc2626}.vdr-badge-high{background:#ea580c1f;color:#ea580c}.vdr-badge-medium{background:#ca8a041f;color:#ca8a04}.vdr-badge-low{background:#22c55e1f;color:#16a34a}.vdr-badge-info{background:#6366f11f;color:#6366f1}.vdr-engine-badge{background:#6366f11a;color:#6366f1;color:var(--accent,#6366f1);font-size:.74rem;font-weight:700;padding:.15rem .5rem}.vdr-cwe-badge,.vdr-engine-badge{border-radius:6px;display:inline-block;font-family:JetBrains Mono,Menlo,monospace}.vdr-cwe-badge{background:#2563eb1a;color:#2563eb;font-size:.72rem;font-weight:600;padding:.12rem .45rem}.vdr-bullets{font-size:.9rem;line-height:1.8;margin-bottom:.5rem;padding-left:1.25rem}.vdr-bullets li{margin-bottom:.2rem}.vdr-stat-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.vdr-stat-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:10px;box-shadow:0 1px 4px #0000000f;flex:1 1;min-width:140px;padding:.75rem 1rem;text-align:center}.vdr-stat-value{color:#6366f1;color:var(--accent,#6366f1);font-family:var(--font-sans);font-size:1.5rem;font-weight:800}.vdr-stat-label{color:var(--bs-secondary-color);font-size:.72rem;font-weight:600;letter-spacing:.04em;margin-top:.2rem;text-transform:uppercase}.vdr-diagram{background:#0f0f1a;border:1px solid #6366f126;border-radius:10px;color:#a5b4fc;font-family:JetBrains Mono,Menlo,monospace;font-size:.78rem;line-height:1.6;margin-bottom:1rem;overflow-x:auto;padding:1.25rem;white-space:pre}.vdr-check{color:#16a34a;font-weight:700}.vdr-cross{color:#dc2626;font-weight:700}.vdr-source-files{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.vdr-source-pill{background:#0000000a;background:var(--bs-tertiary-bg,#0000000a);border:1px solid var(--bs-border-color);border-radius:100px;color:var(--bs-secondary-color);font-family:JetBrains Mono,Menlo,monospace;font-size:.74rem;font-weight:600;padding:.18rem .6rem}.vdr-cap-optimal{color:#8b5cf6}.vdr-cap-good{color:#16a34a}.vdr-cap-fallback{color:#ca8a04}.vdr-cap-na{color:#dc2626}[data-bs-theme=dark] .vdr-toc{background:#112;border-color:#ffffff0f}[data-bs-theme=dark] .vdr-table-wrapper{border-color:#ffffff14}[data-bs-theme=dark] .vdr-table th{background:#ffffff08;border-bottom-color:#ffffff1a}[data-bs-theme=dark] .vdr-table td{border-bottom-color:#ffffff0f}[data-bs-theme=dark] .vdr-table tbody tr:nth-child(2n){background:#ffffff05}[data-bs-theme=dark] .vdr-table tbody tr:hover{background:#6366f11a}[data-bs-theme=dark] .vdr-stat-card{border-color:#ffffff14}[data-bs-theme=dark] .vdr-source-pill,[data-bs-theme=dark] .vdr-stamp{background:#ffffff0f;border-color:#ffffff1a}@media (max-width:900px){.vdr-layout{grid-template-columns:1fr}.vdr-toc{margin-bottom:1.5rem;position:static}}@media (max-width:576px){.vdr-header-row,.vdr-stat-row{flex-direction:column}}@media print{@page{size:A4;margin:15mm 12mm}body{background:#fff!important;color:#000!important;font-size:10pt}.Footer,.Header,.Navbar,.Sidebar,.navbar,.sidebar,.vdr-print-btn,.vdr-toc,footer,nav{display:none!important}.vdr-layout{display:block!important;grid-template-columns:1fr!important}.vdr-code-block,.vdr-content section,.vdr-diagram,.vdr-table-wrapper{break-inside:avoid;page-break-inside:avoid}.vdr-code-block,.vdr-diagram{background:#f5f5f5!important;border:1px solid #ccc!important;color:#1a1a1a!important;font-size:8pt}.vdr-badge,.vdr-cwe-badge,.vdr-engine-badge{background:#0000!important;border:1px solid #999;color:#333!important}.vdr-stat-card{border:1px solid #ccc!important;box-shadow:none!important}.vdr-stat-value{color:#333!important}.vdr-table th{background:#eee!important}.vdr-section-heading{border-bottom-color:#999;break-after:avoid;page-break-after:avoid}.vdr-title{font-size:16pt}.vdr-subtitle{font-size:10pt}}.sa-page{font-family:var(--font-sans);padding:1.75rem 2.5rem 4rem}.sa-hero{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.sa-title{align-items:center;color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:flex;font-size:1.65rem;font-weight:700;gap:10px;margin:0}.sa-title-icon{font-size:1.5rem}.sa-subtitle{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.92rem;margin:4px 0 0}.sa-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;letter-spacing:.03em;padding:5px 14px;text-transform:uppercase}.sa-status-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.sa-status-active{background:#22c55e1f;color:#16a34a}.sa-status-active .sa-status-dot{animation:sa-pulse 1.5s infinite;background:#22c55e}.sa-status-idle{background:#6366f11a;color:#6366f1}.sa-status-idle .sa-status-dot{background:#6366f1}.sa-status-disabled{background:#6b72801a;color:#6b7280}.sa-status-disabled .sa-status-dot{background:#9ca3af}@keyframes sa-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.sa-control-panel{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:20px;padding:20px 24px}.sa-control-left{align-items:center;display:flex;flex-shrink:0;gap:16px}.sa-run-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:10px 28px;transition:all .2s;white-space:nowrap}.sa-run-btn:hover:not(:disabled){box-shadow:0 4px 14px #6366f159;transform:translateY(-1px)}.sa-run-btn:disabled{cursor:not-allowed;opacity:.6}.sa-spinner{animation:sa-spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@keyframes sa-spin{to{transform:rotate(1turn)}}.sa-control-status{font-size:.88rem}.sa-live-text{color:#16a34a;font-weight:500}.sa-idle-text{color:#6b7280;color:var(--text-secondary,#6b7280)}.sa-quick-stats{display:flex;flex-wrap:wrap;gap:12px;margin-left:auto}.sa-stat-card{align-items:center;background:#f8fafc;background:var(--surface,#f8fafc);border-radius:10px;display:flex;flex-direction:column;min-width:80px;padding:10px 18px}.sa-stat-icon{font-size:1.1rem;margin-bottom:2px}.sa-stat-value{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.3rem;font-weight:700}.sa-stat-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.72rem;letter-spacing:.03em;text-transform:uppercase}.sa-progress-section{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;margin-bottom:20px;padding:20px 24px}.sa-progress-stages{justify-content:space-between;margin-bottom:12px}.sa-progress-stages,.sa-stage{align-items:center;display:flex}.sa-stage{flex:1 1;flex-direction:column;gap:6px}.sa-stage-dot{align-items:center;background:#f1f5f9;background:var(--surface,#f1f5f9);border:2px solid #e2e8f0;border:2px solid var(--border,#e2e8f0);border-radius:50%;color:#94a3b8;color:var(--text-secondary,#94a3b8);display:flex;font-size:.8rem;font-weight:700;height:32px;justify-content:center;transition:all .3s;width:32px}.sa-stage.complete .sa-stage-dot{background:#22c55e;border-color:#22c55e;color:#fff}.sa-stage.active .sa-stage-dot{background:#6366f1;border-color:#6366f1;box-shadow:0 0 0 4px #6366f133;color:#fff}.sa-stage-pulse{animation:sa-pulse 1.2s infinite;background:#fff;border-radius:50%;display:inline-block;height:8px;width:8px}.sa-stage-label{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.75rem;font-weight:500;text-transform:capitalize}.sa-stage.active .sa-stage-label{color:#6366f1;font-weight:600}.sa-stage.complete .sa-stage-label{color:#16a34a}.sa-progress-bar-track{background:#f1f5f9;background:var(--surface,#f1f5f9);border-radius:3px;height:6px;margin-bottom:14px;overflow:hidden}.sa-progress-bar-fill{background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:3px;height:100%;transition:width .5s ease}.sa-progress-counters{color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;flex-wrap:wrap;font-size:.82rem;gap:20px}.sa-progress-counters strong{color:#1a1a2e;color:var(--text-primary,#1a1a2e)}.sa-actions-section{margin-bottom:20px}.sa-section-header{align-items:center;display:flex;gap:12px;margin-bottom:14px}.sa-section-header h2{align-items:center;color:#1a1a2e;color:var(--text-primary,#1a1a2e);display:flex;font-size:1.15rem;font-weight:600;gap:8px;margin:0}.sa-count-badge{align-items:center;background:#6366f11a;border-radius:11px;color:#6366f1;display:inline-flex;font-size:.78rem;font-weight:700;height:22px;justify-content:center;min-width:24px;padding:0 7px}.sa-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.sa-search{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);flex:1 1;font-size:.88rem;min-width:200px;outline:none;padding:8px 14px;transition:border-color .2s}.sa-search:focus{border-color:#6366f1}.sa-search::placeholder{color:#94a3b8;color:var(--text-secondary,#94a3b8)}.sa-filter-select{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);cursor:pointer;font-size:.85rem;outline:none;padding:8px 12px}.sa-filter-select:focus{border-color:#6366f1}.sa-filter-clear{background:#6366f114;border:1px solid #6366f1;border-radius:8px;color:#6366f1;cursor:pointer;font-size:.82rem;font-weight:500;padding:6px 12px}.sa-filter-clear:hover{background:#6366f129}.sa-bulk-bar{align-items:center;background:#6366f10f;border:1px solid #6366f12e;border-radius:10px;color:#6366f1;display:flex;font-size:.88rem;font-weight:500;gap:12px;margin-bottom:12px;padding:10px 16px}.sa-bulk-approve,.sa-bulk-clear,.sa-bulk-reject{border:none;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:600;padding:5px 14px;transition:background .15s}.sa-bulk-approve{background:#22c55e;color:#fff}.sa-bulk-approve:hover{background:#16a34a}.sa-bulk-reject{background:#ef4444;color:#fff}.sa-bulk-reject:hover{background:#dc2626}.sa-bulk-clear{background:#0000;color:#6b7280;color:var(--text-secondary,#6b7280)}.sa-bulk-clear:hover{background:#f1f5f9;background:var(--surface,#f1f5f9)}.sa-table-wrap{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;overflow-x:auto}.sa-table{border-collapse:collapse;font-size:.87rem;width:100%}.sa-table thead{background:#f8fafc;background:var(--surface,#f8fafc)}.sa-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.sa-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light,#f1f5f9);color:#1a1a2e;color:var(--text-primary,#1a1a2e);padding:10px 14px;vertical-align:middle}.sa-table tbody tr:hover{background:#6366f108;background:var(--surface-hover,#6366f108)}.sa-row-selected{background:#6366f10f!important}.sa-td-check,.sa-th-check{text-align:center;width:36px}.sa-td-cve{font-family:SF Mono,Fira Code,monospace;font-size:.83rem;white-space:nowrap}.sa-td-pkg{max-width:180px}.sa-td-pkg,.sa-td-sbom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-td-sbom{max-width:150px}.sa-td-runid{font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.sa-sev-badge{font-weight:600;text-transform:capitalize}.sa-sev-badge,.sa-type-badge{border-radius:6px;display:inline-block;font-size:.78rem;padding:3px 10px;white-space:nowrap}.sa-type-badge{font-weight:500}.sa-type-remediation_create{background:#6366f11a;color:#6366f1}.sa-type-vex_propose{background:#22c55e1a;color:#16a34a}.sa-type-alert_send{background:#f57c001a;color:#f57c00}.sa-type-suppress{background:#6b72801a;color:#6b7280}.sa-confidence{font-size:.85rem;font-weight:600}.sa-status-pill{border-radius:6px;display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px;white-space:nowrap}.sa-pill-pending{background:#fbc02d1f;color:#b45309}.sa-pill-approved{background:#22c55e1a;color:#16a34a}.sa-pill-rejected{background:#ef44441a;color:#ef4444}.sa-pill-auto_approved{background:#6366f11a;color:#6366f1}.sa-pill-auto_escalated{background:#d32f2f1a;color:#d32f2f}.sa-pill-done{background:#22c55e1a;color:#16a34a}.sa-pill-failed{background:#ef44441a;color:#ef4444}.sa-pill-acting,.sa-pill-scanning,.sa-pill-triaging{background:#6366f11a;color:#6366f1}.sa-td-actions{align-items:center;display:flex;gap:6px;white-space:nowrap}.sa-act-approve,.sa-act-reject{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;height:28px;justify-content:center;transition:all .15s;width:28px}.sa-act-approve{background:#22c55e1a;color:#16a34a}.sa-act-approve:hover{background:#22c55e;color:#fff}.sa-act-reject{background:#ef44441a;color:#ef4444}.sa-act-reject:hover{background:#ef4444;color:#fff}.sa-act-done{color:#94a3b8;color:var(--text-secondary,#94a3b8)}.sa-reasoning-tip{cursor:help;font-size:.85rem;opacity:.7;transition:opacity .15s}.sa-reasoning-tip:hover{opacity:1}.sa-config-section,.sa-history-section{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;margin-bottom:16px;overflow:hidden}.sa-section-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;text-align:left;width:100%}.sa-section-toggle h2{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.05rem;font-weight:600;margin:0}.sa-chevron{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:1.3rem;transition:transform .2s}.sa-chevron.open{transform:rotate(90deg)}.sa-history-empty{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.9rem;padding:20px;text-align:center}.sa-table-history td,.sa-table-history th{font-size:.84rem}.sa-history-filter-btn{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.6;padding:2px 6px;transition:opacity .15s}.sa-history-filter-btn:hover{opacity:1}.sa-config-grid{padding:0 20px 20px}.sa-config-row{grid-gap:2px 16px;align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light,#f1f5f9);cursor:pointer;display:grid;gap:2px 16px;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:14px 0}.sa-config-row:last-of-type{border-bottom:none}.sa-config-label{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.92rem;font-weight:600;grid-column:1;grid-row:1}.sa-config-desc{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.8rem;grid-column:1;grid-row:2}.sa-toggle{align-self:center;appearance:none;-webkit-appearance:none;background:#d1d5db;background:var(--surface,#d1d5db);border-radius:12px;cursor:pointer;grid-column:2;grid-row:1/3;height:24px;position:relative;transition:background .2s;width:42px}.sa-toggle:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.sa-toggle:checked{background:#6366f1}.sa-toggle:checked:after{transform:translateX(18px)}.sa-config-select{align-self:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:.85rem;grid-column:2;grid-row:1/3;padding:7px 12px}.sa-config-actions{display:flex;justify-content:flex-end;padding-top:16px}.sa-save-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:9px 28px;transition:all .2s}.sa-save-btn:hover:not(:disabled){box-shadow:0 4px 12px #6366f14d}.sa-save-btn:disabled{cursor:not-allowed;opacity:.5}[data-bs-theme=dark] .sa-title{color:#e2e8f0}[data-bs-theme=dark] .sa-subtitle{color:#94a3b8}[data-bs-theme=dark] .sa-config-section,[data-bs-theme=dark] .sa-control-panel,[data-bs-theme=dark] .sa-history-section,[data-bs-theme=dark] .sa-progress-section,[data-bs-theme=dark] .sa-table-wrap{background:#1e1e2e;border-color:#2d2d44}[data-bs-theme=dark] .sa-table thead{background:#16162a}[data-bs-theme=dark] .sa-table th{border-color:#2d2d44;color:#94a3b8}[data-bs-theme=dark] .sa-table td{border-color:#232340;color:#e2e8f0}[data-bs-theme=dark] .sa-table tbody tr:hover{background:#6366f10f}[data-bs-theme=dark] .sa-config-select,[data-bs-theme=dark] .sa-filter-select,[data-bs-theme=dark] .sa-search{background:#16162a;border-color:#2d2d44;color:#e2e8f0}[data-bs-theme=dark] .sa-search::placeholder{color:#64748b}[data-bs-theme=dark] .sa-stat-card{background:#16162a}[data-bs-theme=dark] .sa-stat-value{color:#e2e8f0}[data-bs-theme=dark] .sa-stat-label{color:#94a3b8}[data-bs-theme=dark] .sa-config-label,[data-bs-theme=dark] .sa-section-toggle h2{color:#e2e8f0}[data-bs-theme=dark] .sa-config-desc{color:#94a3b8}[data-bs-theme=dark] .sa-toggle{background:#374151}[data-bs-theme=dark] .sa-stage-dot{background:#232340;border-color:#2d2d44;color:#64748b}[data-bs-theme=dark] .sa-progress-bar-track{background:#232340}[data-bs-theme=dark] .sa-progress-counters{color:#94a3b8}[data-bs-theme=dark] .sa-progress-counters strong{color:#e2e8f0}[data-bs-theme=dark] .sa-config-row{border-color:#232340}[data-bs-theme=dark] .sa-history-empty{color:#94a3b8}@media (max-width:768px){.sa-page{padding:16px}.sa-hero{flex-direction:column;gap:12px}.sa-control-panel{align-items:stretch;flex-direction:column}.sa-quick-stats{margin-left:0}.sa-filters{flex-direction:column}.sa-search{min-width:auto}.sa-progress-stages{gap:4px}.sa-stage-label{font-size:.65rem}.sa-bulk-bar{flex-wrap:wrap}}:root{--cc-text:#1a1a2e;--cc-text-secondary:#64748b;--cc-card-bg:#fff;--cc-card-border:#0000000f;--cc-card-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;--cc-card-shadow-hover:0 4px 12px #0000001a,0 8px 32px #0000000f;--cc-radius:16px;--cc-radius-sm:10px;--cc-page-bg:#f4f6fa}[data-bs-theme=dark]{--cc-text:#e2e8f0;--cc-text-secondary:#94a3b8;--cc-card-bg:#1e293b;--cc-card-border:#ffffff0f;--cc-card-shadow:0 1px 3px #0003,0 4px 16px #00000026;--cc-card-shadow-hover:0 4px 12px #0000004d,0 8px 32px #0003;--cc-page-bg:#0f172a}@keyframes ccFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.cc-fade-in{animation:ccFadeIn .6s cubic-bezier(.22,1,.36,1) forwards;opacity:0}.cc-page{color:#1a1a2e;color:var(--cc-text);padding:1.75rem 2.5rem 4rem}.cc-hero{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);border-radius:0 0 16px 16px;border-radius:0 0 var(--cc-radius) var(--cc-radius);margin-bottom:28px;overflow:hidden;padding:40px 32px 48px;position:relative}.cc-hero:before{background:radial-gradient(circle,#6366f11f 0,#0000 70%);height:500px;right:-10%;top:-60%;width:500px}.cc-hero:after,.cc-hero:before{content:"";pointer-events:none;position:absolute}.cc-hero:after{background:radial-gradient(circle,#4f46e514 0,#0000 70%);bottom:-40%;height:400px;left:-5%;width:400px}.cc-hero-content{align-items:center;display:flex;gap:32px;justify-content:center;position:relative;z-index:1}.cc-hero-stats{display:flex;flex:1 1;flex-direction:column;gap:12px;max-width:280px}.cc-hero .cc-stat-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff14;color:#fff}.cc-hero .cc-stat-label{color:#ffffffa6}.cc-hero .cc-stat-sub{color:#ffffff73}.cc-hero .cc-stat-value{color:#fff}.cc-gauge{flex-shrink:0;height:200px;position:relative;width:200px}.cc-gauge-svg{height:100%;width:100%}.cc-gauge-arc{transition:stroke-dashoffset 1.5s cubic-bezier(.22,1,.36,1)}.cc-gauge-inner{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.cc-gauge-value{display:block;font-size:42px;font-weight:800;letter-spacing:-1px;line-height:1}.cc-gauge-label{color:#fff9;display:block;font-size:11px;font-weight:600;letter-spacing:.8px;margin-top:6px;text-transform:uppercase}.cc-stat-card{align-items:center;background:#fff;background:var(--cc-card-bg);border:1px solid #0000000f;border:1px solid var(--cc-card-border);border-radius:10px;border-radius:var(--cc-radius-sm);box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;box-shadow:var(--cc-card-shadow);display:flex;gap:12px;padding:14px 16px;transition:box-shadow .2s,transform .2s}.cc-stat-card:hover{box-shadow:0 4px 12px #0000001a,0 8px 32px #0000000f;box-shadow:var(--cc-card-shadow-hover);transform:translateY(-1px)}.cc-stat-icon{flex-shrink:0;font-size:22px;line-height:1}.cc-stat-body{min-width:0}.cc-stat-value{color:#1a1a2e;color:var(--cc-text);font-size:20px;font-weight:700;line-height:1.2}.cc-stat-label{font-size:12px;font-weight:500;white-space:nowrap}.cc-stat-label,.cc-stat-sub{color:#64748b;color:var(--cc-text-secondary)}.cc-stat-sub{font-size:11px;opacity:.7}.cc-grid{grid-gap:24px;display:grid;gap:24px;margin-bottom:24px;padding:0 24px}.cc-grid-60-40{grid-template-columns:3fr 2fr}.cc-grid-50-50{grid-template-columns:1fr 1fr}.cc-col{display:flex;flex-direction:column;gap:24px}.cc-full-width{margin:0 24px 24px}.cc-section{background:#fff;background:var(--cc-card-bg);border:1px solid #0000000f;border:1px solid var(--cc-card-border);border-radius:16px;border-radius:var(--cc-radius);box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;box-shadow:var(--cc-card-shadow);padding:24px;transition:box-shadow .2s}.cc-section:hover{box-shadow:0 4px 12px #0000001a,0 8px 32px #0000000f;box-shadow:var(--cc-card-shadow-hover)}.cc-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.cc-section-title{color:#1a1a2e;color:var(--cc-text);font-size:16px;font-weight:700;letter-spacing:-.2px;margin:0}.cc-section-link{color:#6366f1;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s}.cc-section-link:hover{color:#818cf8}.cc-severity-row{align-items:center;display:flex;gap:24px}.cc-severity-chart{flex:0 0 220px}.cc-severity-legend{display:flex;flex:1 1;flex-direction:column;gap:10px}.cc-severity-item{align-items:center;display:flex;font-size:14px;gap:10px}.cc-severity-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.cc-severity-name{color:#1a1a2e;color:var(--cc-text);font-weight:600;min-width:70px}.cc-severity-count{color:#1a1a2e;color:var(--cc-text);font-weight:700;min-width:50px;text-align:right}.cc-severity-pct{color:#64748b;color:var(--cc-text-secondary);font-size:12px;min-width:48px;text-align:right}.cc-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.cc-table{border-collapse:initial;border-spacing:0;font-size:13px;width:100%}.cc-table thead th{color:#64748b;color:var(--cc-text-secondary);font-size:11px;font-weight:700;letter-spacing:.6px;padding:8px 12px;text-transform:uppercase;white-space:nowrap}.cc-table tbody td,.cc-table thead th{border-bottom:1px solid #0000000f;border-bottom:1px solid var(--cc-card-border)}.cc-table tbody td{color:#1a1a2e;color:var(--cc-text);padding:10px 12px;vertical-align:middle}.cc-table tbody tr:last-child td{border-bottom:none}.cc-table tbody tr:hover{background:#6366f10a}.cc-rank{color:#64748b;color:var(--cc-text-secondary);font-weight:700;text-align:center;width:32px}.cc-repo-link{color:#6366f1;font-weight:600;text-decoration:none;transition:color .15s}.cc-repo-link:hover{color:#818cf8;text-decoration:underline}.cc-risk-bar-cell{align-items:center;display:flex;gap:8px;min-width:120px}.cc-risk-bar-track{background:#0000000f;border-radius:3px;flex:1 1;height:6px;overflow:hidden}[data-bs-theme=dark] .cc-risk-bar-track{background:#ffffff14}.cc-risk-bar-fill{border-radius:3px;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1)}.cc-risk-bar-label{color:#1a1a2e;color:var(--cc-text);font-size:12px;font-weight:700;min-width:32px;text-align:right}.cc-td-critical{color:#d32f2f;font-weight:700}.cc-td-high{color:#f57c00;font-weight:700}.cc-grade-badge{align-items:center;border-radius:8px;color:#fff;display:inline-flex;font-size:13px;font-weight:800;height:28px;justify-content:center;width:28px}.cc-compliance-list{display:flex;flex-direction:column;gap:16px}.cc-compliance-row{align-items:center;display:flex;gap:12px}.cc-compliance-label{color:#1a1a2e;color:var(--cc-text);font-size:13px;font-weight:600;min-width:140px;white-space:nowrap}.cc-compliance-bar-track{background:#0000000f;border-radius:4px;flex:1 1;height:8px;overflow:hidden}[data-bs-theme=dark] .cc-compliance-bar-track{background:#ffffff14}.cc-compliance-bar-fill{border-radius:4px;height:100%;transition:width 1s cubic-bezier(.22,1,.36,1)}.cc-compliance-count{font-size:13px;font-weight:700;min-width:90px;text-align:right;white-space:nowrap}.cc-compliance-pct{font-weight:500;opacity:.7}.cc-supply-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.cc-supply-metric{background:#00000005;border:1px solid #0000000f;border:1px solid var(--cc-card-border);border-radius:10px;border-radius:var(--cc-radius-sm);padding:20px 12px;text-align:center;transition:transform .2s,box-shadow .2s}[data-bs-theme=dark] .cc-supply-metric{background:#ffffff08}.cc-supply-metric:hover{box-shadow:0 4px 12px #0000001a,0 8px 32px #0000000f;box-shadow:var(--cc-card-shadow-hover);transform:translateY(-2px)}.cc-supply-alert{background:#d32f2f0f;border-color:#d32f2f33}[data-bs-theme=dark] .cc-supply-alert{background:#d32f2f1a;border-color:#d32f2f40}.cc-supply-icon{font-size:28px;margin-bottom:8px}.cc-supply-value{color:#1a1a2e;color:var(--cc-text);font-size:28px;font-weight:800;line-height:1}.cc-supply-label{color:#64748b;color:var(--cc-text-secondary);font-size:12px;font-weight:600;margin-top:4px}.cc-supply-sub{color:#d32f2f;font-size:11px;font-weight:600;margin-top:4px}.cc-supplier-bar-section{align-items:center;display:flex;gap:16px}.cc-supplier-bar-label{color:#1a1a2e;color:var(--cc-text);font-size:13px;font-weight:600;min-width:180px;white-space:nowrap}.cc-supplier-bar-track{background:#0000000a;border-radius:8px;display:flex;flex:1 1;height:28px;overflow:hidden}[data-bs-theme=dark] .cc-supplier-bar-track{background:#ffffff0d}.cc-supplier-bar-seg{align-items:center;display:flex;justify-content:center;transition:width .8s cubic-bezier(.22,1,.36,1)}.cc-supplier-bar-text{color:#fff;font-size:11px;font-weight:700;overflow:hidden;padding:0 6px;text-overflow:ellipsis;text-shadow:0 1px 2px #0000004d;white-space:nowrap}.cc-remediation-row{align-items:center;display:flex;gap:20px}.cc-remediation-chart{flex:0 0 200px}.cc-remediation-legend{display:flex;flex:1 1;flex-direction:column;gap:10px}.cc-remediation-item{align-items:center;display:flex;font-size:14px;gap:10px}.cc-remediation-name{color:#1a1a2e;color:var(--cc-text);flex:1 1;font-weight:500}.cc-remediation-count{font-size:16px;font-weight:700}.cc-heatmap-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.cc-heat-cell{border-radius:6px;cursor:pointer;opacity:.9;position:relative;transition:transform .15s,box-shadow .15s}.cc-heat-cell:hover{box-shadow:0 4px 12px #0003;opacity:1;transform:scale(1.2);z-index:10}.cc-heat-tooltip{background:#1e293b;border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 4px 16px #0000004d;color:#fff;font-size:12px;left:50%;line-height:1.5;padding:8px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:20}.cc-heat-tooltip strong{display:block;font-size:13px;margin-bottom:2px}.cc-heatmap-legend{align-items:center;display:flex;gap:16px;justify-content:center;padding-top:4px}.cc-heat-legend-item{align-items:center;color:#64748b;color:var(--cc-text-secondary);display:flex;font-size:12px;font-weight:500;gap:6px}.cc-heat-swatch{border-radius:3px;display:inline-block;height:12px;width:12px}.cc-agent-bar{background:#fff;background:var(--cc-card-bg);border:1px solid #0000000f;border:1px solid var(--cc-card-border);border-radius:16px;border-radius:var(--cc-radius);box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;box-shadow:var(--cc-card-shadow);flex-wrap:wrap;gap:24px;margin:0 24px;padding:16px 24px}.cc-agent-bar,.cc-agent-status{align-items:center;display:flex}.cc-agent-status{font-size:14px;font-weight:700;gap:8px;white-space:nowrap}@keyframes ccAgentPulse{0%,to{box-shadow:0 0 0 0 #4caf5066}50%{box-shadow:0 0 0 6px #4caf5000}}.cc-agent-dot{background:#d32f2f;border-radius:50%;flex-shrink:0;height:10px;width:10px}.cc-agent-dot.cc-agent-active{animation:ccAgentPulse 2s ease-in-out infinite;background:#4caf50}.cc-agent-status-text{color:#1a1a2e;color:var(--cc-text)}.cc-agent-detail{flex:1 1;min-width:0}.cc-agent-meta{color:#64748b;color:var(--cc-text-secondary);font-size:13px}.cc-agent-actions{align-items:center;display:flex;gap:12px}.cc-agent-link{background:#6366f114;border-radius:8px;color:#6366f1;font-size:13px;font-weight:700;padding:6px 14px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.cc-agent-link:hover{background:#6366f129;color:#818cf8}.cc-agent-schedule{background:#0000000a;border-radius:6px;color:#64748b;color:var(--cc-text-secondary);font-size:12px;font-weight:700;padding:4px 10px;text-transform:capitalize}[data-bs-theme=dark] .cc-agent-schedule{background:#ffffff0f}.cc-tooltip{align-items:center;background:#1e293b;border-radius:8px;box-shadow:0 4px 16px #00000040;color:#fff;display:flex;font-size:13px;gap:8px;padding:8px 14px}.cc-tooltip-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}@media (max-width:1024px){.cc-grid-50-50,.cc-grid-60-40{grid-template-columns:1fr}.cc-hero-content{flex-direction:column}.cc-hero-stats{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:100%}.cc-hero-stats .cc-stat-card{flex:1 1 140px;min-width:140px}.cc-supply-grid{grid-template-columns:repeat(2,1fr)}.cc-severity-row{flex-direction:column}.cc-severity-chart{flex:none;width:100%}.cc-remediation-row{flex-direction:column}.cc-remediation-chart{flex:none;width:100%}.cc-supplier-bar-section{align-items:stretch;flex-direction:column}.cc-compliance-row{flex-wrap:wrap}.cc-compliance-label{min-width:120px}}@media (max-width:640px){.cc-hero{padding:24px 16px 32px}.cc-grid{gap:16px;padding:0 12px}.cc-section{padding:16px}.cc-full-width{margin:0 12px 16px}.cc-supply-grid{grid-template-columns:1fr 1fr}.cc-agent-bar{align-items:flex-start;flex-direction:column;gap:12px;margin:0 12px}.cc-gauge{height:160px;width:160px}.cc-gauge-value{font-size:32px}}.cc-sast-empty{color:#666;font-size:.85rem;padding:12px 0 4px;text-align:center}.cc-sast-empty a{color:#1976d2;font-weight:600;text-decoration:none}.cc-sast-empty a:hover{text-decoration:underline}.cc-hero-center{align-items:center;display:flex;flex-direction:column;gap:8px}.cc-sub-scores{display:flex;gap:20px;justify-content:center}.cc-mini-gauge{align-items:center;display:flex;flex-direction:column;position:relative}.cc-mini-gauge svg{display:block}.cc-mini-gauge-inner{align-items:center;display:flex;height:60px;justify-content:center;left:0;position:absolute;top:0;width:60px}.cc-mini-gauge-value{font-family:Inter,sans-serif;font-size:.85rem;font-weight:700}.cc-mini-gauge-label{color:#ffffffb3;font-size:.65rem;margin-top:2px;text-align:center;white-space:nowrap}.pricing-page{max-width:1100px;padding-bottom:60px}.pricing-hero{padding:48px 0 36px;text-align:center}.pricing-hero-eyebrow{background:#6366f11a;border:1px solid #6366f140;border-radius:20px;color:#6366f1;color:var(--accent,#6366f1);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:1.4px;margin-bottom:16px;padding:3px 14px;text-transform:uppercase}.pricing-hero h1{color:var(--bs-body-color);font-size:2.4rem;font-weight:900;letter-spacing:-1.5px;line-height:1.15;margin:0 0 12px}.pricing-hero-sub{color:var(--bs-secondary-color);font-size:1.05rem;line-height:1.7;margin:0 auto 20px;max-width:520px}.pricing-toggle{align-items:center;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:30px;display:inline-flex;font-size:.85rem;gap:10px;margin-bottom:8px;padding:4px 6px}.pricing-toggle-btn{background:#0000;border:none;border-radius:20px;color:var(--bs-secondary-color);cursor:pointer;font-size:.85rem;font-weight:600;padding:5px 18px;transition:.15s}.pricing-toggle-btn.active{background:var(--bs-body-bg);box-shadow:0 1px 4px #0000001f;color:var(--bs-body-color)}.pricing-discount-pill{background:#10b9811f;border:1px solid #10b98140;border-radius:12px;color:#10b981;font-size:.72rem;font-weight:700;margin-left:4px;padding:2px 8px}.pricing-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin:0 0 12px}@media (max-width:1000px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:box-shadow .2s,border-color .2s,transform .2s}.pricing-card:hover{box-shadow:0 8px 32px #0000001f;transform:translateY(-2px)}.pricing-card.featured{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 1px #6366f1,0 8px 32px #6366f133;box-shadow:0 0 0 1px var(--accent,#6366f1),0 8px 32px #6366f133}.pricing-badge{background:#6366f1;background:var(--accent,#6366f1);border-radius:20px;box-shadow:0 2px 8px #6366f166;color:#fff;font-size:.6rem;font-weight:800;left:50%;letter-spacing:1.2px;padding:3px 14px;position:absolute;text-transform:uppercase;top:0;transform:translateX(-50%) translateY(-50%);white-space:nowrap}.pricing-card-header{border-bottom:1px solid var(--bs-border-color);padding:24px 22px 16px}.pricing-card-name{color:var(--bs-secondary-color);font-size:.72rem;font-weight:700;letter-spacing:1.2px;margin-bottom:10px;text-transform:uppercase}.pricing-card.featured .pricing-card-name{color:#6366f1;color:var(--accent,#6366f1)}.pricing-card-price{align-items:baseline;display:flex;gap:4px;margin-bottom:4px}.pricing-card-amount{color:var(--bs-body-color);font-size:2.2rem;font-weight:900;letter-spacing:-1.5px;line-height:1}.pricing-card-period{color:var(--bs-secondary-color);font-size:.85rem;font-weight:500}.pricing-card-billed{color:var(--bs-secondary-color);font-size:.75rem;min-height:18px}.pricing-card-tagline{color:var(--bs-secondary-color);font-size:.8rem;line-height:1.5;margin-top:8px}.pricing-card-features{display:flex;flex:1 1;flex-direction:column;gap:9px;list-style:none;margin:0;padding:18px 22px}.pricing-card-features li{align-items:flex-start;color:var(--bs-body-color);display:flex;font-size:.83rem;gap:8px;line-height:1.45}.pricing-feature-check{color:#10b981;flex-shrink:0;font-weight:700;margin-top:1px}.pricing-feature-x{color:var(--bs-secondary-color);flex-shrink:0;margin-top:1px;opacity:.5}.pricing-card-cta{padding:16px 22px 20px}.btn-pricing-primary{background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:10px;box-shadow:0 2px 10px #6366f14d;color:#fff;cursor:pointer;display:block;font-size:.88rem;font-weight:700;padding:11px 18px;text-align:center;text-decoration:none;transition:opacity .15s,box-shadow .15s;width:100%}.btn-pricing-primary:hover{box-shadow:0 4px 16px #6366f166;color:#fff;opacity:.88}.btn-pricing-outline{background:#0000;border:1px solid var(--bs-border-color);border-radius:10px;color:var(--bs-body-color);cursor:pointer;display:block;font-size:.88rem;font-weight:600;padding:11px 18px;text-align:center;text-decoration:none;transition:border-color .15s,background .15s;width:100%}.btn-pricing-outline:hover{background:#6366f10d;border-color:#6366f1;border-color:var(--accent,#6366f1);color:var(--bs-body-color)}.btn-pricing-ghost{background:#0000;border:1px dashed var(--bs-border-color);border-radius:10px;color:var(--bs-secondary-color);cursor:pointer;display:block;font-size:.88rem;font-weight:600;padding:11px 18px;text-align:center;text-decoration:none;transition:border-color .15s;width:100%}.btn-pricing-ghost:hover{border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.pricing-early-banner{align-items:center;background:linear-gradient(135deg,#6366f114,#10b9810f);border:1px solid #6366f140;border-radius:14px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px;padding:18px 24px}.pricing-early-icon{flex-shrink:0;font-size:1.8rem}.pricing-early-text{flex:1 1;min-width:200px}.pricing-early-text strong{color:var(--bs-body-color);display:block;font-size:.95rem;margin-bottom:2px}.pricing-early-text span{color:var(--bs-secondary-color);font-size:.83rem}.pricing-compare-title{color:var(--bs-body-color);font-size:1.3rem;font-weight:800;letter-spacing:-.5px;margin:48px 0 16px}.pricing-compare-table{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-collapse:collapse;border-radius:12px;font-size:.83rem;margin-bottom:48px;overflow:hidden;width:100%}.pricing-compare-table th{background:var(--bs-tertiary-bg);border-bottom:1px solid var(--bs-border-color);color:var(--bs-secondary-color);font-size:.72rem;font-weight:700;letter-spacing:.8px;padding:12px 16px;text-align:left;text-transform:uppercase}.pricing-compare-table th:not(:first-child){min-width:90px;text-align:center}.pricing-compare-table td{border-bottom:1px solid var(--bs-border-color);color:var(--bs-body-color);padding:11px 16px;vertical-align:middle}.pricing-compare-table tr:last-child td{border-bottom:none}.pricing-compare-table td:not(:first-child){text-align:center}.pricing-compare-table tr:hover td{background:#6366f108}.pricing-compare-table .section-row td{background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.check-yes{color:#10b981;font-size:1rem;font-weight:700}.check-no{color:var(--bs-secondary-color);font-size:1rem;opacity:.35}.check-part{color:#f59e0b;font-size:.75rem;font-weight:600}.pricing-social{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:48px}.pricing-quote{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:12px;padding:20px 22px}.pricing-quote-text{color:var(--bs-body-color);font-size:.88rem;font-style:italic;line-height:1.7;margin-bottom:12px}.pricing-quote-author{align-items:center;display:flex;gap:10px}.pricing-quote-avatar{align-items:center;background:var(--bs-secondary-bg);border-radius:50%;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;width:32px}.pricing-quote-name{color:var(--bs-body-color);font-size:.8rem;font-weight:700}.pricing-quote-role{color:var(--bs-secondary-color);font-size:.75rem}.pricing-faq-title{color:var(--bs-body-color);font-size:1.3rem;font-weight:800;letter-spacing:-.5px;margin:0 0 16px}.pricing-faq{border:1px solid var(--bs-border-color);border-radius:12px;display:flex;flex-direction:column;gap:0;margin-bottom:48px;overflow:hidden}.pricing-faq-item{border-bottom:1px solid var(--bs-border-color)}.pricing-faq-item:last-child{border-bottom:none}.pricing-faq-q{align-items:center;background:var(--bs-body-bg);border:none;color:var(--bs-body-color);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:12px;justify-content:space-between;padding:15px 20px;text-align:left;transition:background .15s;width:100%}.pricing-faq-q:hover{background:var(--bs-tertiary-bg)}.pricing-faq-q .faq-arrow{color:var(--bs-secondary-color);flex-shrink:0;font-size:.7rem;transition:transform .2s}.pricing-faq-q.open .faq-arrow{transform:rotate(180deg)}.pricing-faq-a{background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.85rem;line-height:1.7;padding:0 20px 15px}.upgrade-banner{align-items:center;background:linear-gradient(135deg,#6366f11a,#8b5cf614);border:1px solid #6366f14d;border-radius:12px;display:flex;gap:14px;margin-bottom:20px;padding:14px 20px}.upgrade-banner-icon{flex-shrink:0;font-size:1.4rem}.upgrade-banner-text{flex:1 1}.upgrade-banner-text strong{color:var(--bs-body-color);display:block;font-size:.88rem}.upgrade-banner-text span{color:var(--bs-secondary-color);font-size:.8rem}.upgrade-banner-btn{background:#6366f1;background:var(--accent,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.82rem;font-weight:700;padding:7px 16px;text-decoration:none;transition:opacity .15s;white-space:nowrap}.upgrade-banner-btn:hover{color:#fff;opacity:.85}.pricing-cta-bottom{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:16px;padding:40px 20px;text-align:center}.pricing-cta-bottom h3{color:var(--bs-body-color);font-size:1.5rem;font-weight:800;letter-spacing:-.5px;margin:0 0 8px}.pricing-cta-bottom p{color:var(--bs-secondary-color);font-size:.92rem;line-height:1.7;margin:0 auto 20px;max-width:440px}.pricing-cta-bottom .btn-pricing-primary{display:inline-block;font-size:.95rem;padding:12px 32px;width:auto}.dgw-shell{--dgw-bg:#f8fafc;--dgw-surface:#fff;--dgw-surface-2:#f1f5f9;--dgw-border:#e2e8f0;--dgw-text:#1e293b;--dgw-muted:#64748b;--dgw-brand:#6366f1;--dgw-brand-hover:#4f46e5;--dgw-depguard:#6366f1;--dgw-vigil:#8b5cf6;--dgw-prism:#06b6d4;--dgw-page-width:1320px;--dgw-gutter:clamp(20px,5vw,60px);--dgw-radius:16px;--dgw-radius-sm:10px;background:var(--dgw-bg);color:var(--dgw-text);font-family:Inter,system-ui,sans-serif;font-size:16px;isolation:isolate;line-height:1.6;min-height:100vh;position:relative}.dgw-shell:before{background-image:linear-gradient(rgba(99,102,241,.025) 1px,#0000 0),linear-gradient(90deg,rgba(99,102,241,.025) 1px,#0000 0);background-size:60px 60px;content:"";inset:0;pointer-events:none;position:fixed;z-index:0}.dgw-page-wrap{position:relative;z-index:1}.dgw-topbar{padding:14px var(--dgw-gutter);pointer-events:none;position:sticky;top:0;z-index:100}.dgw-topbar-inner{align-items:center;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#0a1018d9;border:1px solid var(--dgw-border);border-radius:18px;box-shadow:0 0 0 1px #6366f114,0 20px 40px #0006,inset 0 1px 0 #ffffff0a;display:flex;gap:12px;height:64px;margin:0 auto;max-width:var(--dgw-page-width);padding:0 20px;pointer-events:all}.dgw-brand{color:var(--dgw-text);gap:10px;text-decoration:none}.dgw-brand,.dgw-brand-icon{align-items:center;display:flex;flex-shrink:0}.dgw-brand-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;box-shadow:0 0 0 1px #6366f14d,0 4px 12px #6366f140;color:#fff;font-size:14px;font-weight:800;height:36px;justify-content:center;letter-spacing:-.5px;width:36px}.dgw-brand-copy{display:flex;flex-direction:column;line-height:1.2}.dgw-brand-copy strong{color:#fff;font-size:15px;font-weight:700;letter-spacing:-.3px}.dgw-brand-copy small{color:var(--dgw-muted);font-size:10px;letter-spacing:.4px;text-transform:uppercase}.dgw-nav{align-items:center;display:flex;gap:2px;margin:0 auto}.dgw-nav-link{border-radius:8px;color:var(--dgw-muted);font-size:14px;font-weight:500;padding:7px 14px;text-decoration:none;transition:color .15s,background .15s;white-space:nowrap}.dgw-nav-link.active,.dgw-nav-link:hover{background:#ffffff0f;color:var(--dgw-text)}.dgw-nav-products{position:relative}.dgw-nav-products-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--dgw-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:7px 14px;transition:color .15s,background .15s}.dgw-nav-products-btn:hover{background:#ffffff0f;color:var(--dgw-text)}.dgw-nav-products-btn svg{transition:transform .2s}.dgw-nav-products:hover .dgw-nav-products-btn svg{transform:rotate(180deg)}.dgw-nav-products-dropdown{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0a1018f5;border:1px solid var(--dgw-border);border-radius:16px;box-shadow:0 24px 60px #0009,0 0 0 1px #6366f11a;left:50%;opacity:0;padding:12px;position:absolute;top:calc(100% + 10px);transform:translateX(-50%);transform:translateX(-50%) translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;visibility:hidden;width:340px;z-index:200}.dgw-nav-products:hover .dgw-nav-products-dropdown{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.dgw-dropdown-item{align-items:flex-start;border-radius:10px;color:var(--dgw-text);display:flex;gap:12px;padding:12px;text-decoration:none;transition:background .15s}.dgw-dropdown-item:hover{background:#ffffff0f}.dgw-dropdown-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;width:36px}.dgw-dropdown-icon.depguard{background:#6366f126}.dgw-dropdown-icon.vigil{background:#8b5cf626}.dgw-dropdown-icon.prism{background:#06b6d426}.dgw-dropdown-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:2px}.dgw-dropdown-desc{color:var(--dgw-muted);font-size:12px;line-height:1.4}.dgw-nav-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.dgw-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:9px 18px;text-decoration:none;transition:all .2s;white-space:nowrap}.dgw-btn-primary{background:var(--dgw-brand);box-shadow:0 0 0 1px #6366f180,0 4px 16px #6366f14d;color:#fff}.dgw-btn-primary:hover{background:var(--dgw-brand-hover);box-shadow:0 0 0 1px #4f46e599,0 6px 20px #6366f166;transform:translateY(-1px)}.dgw-btn-ghost{background:#0000;border:1px solid #e2e8f0;color:#64748b}.dgw-btn-ghost:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b}.dgw-cta-band .dgw-btn-ghost,.dgw-hero .dgw-btn-ghost,.dgw-product-hero .dgw-btn-ghost{background:#0000;border-color:#ffffff2e;color:#ffffffb3}.dgw-cta-band .dgw-btn-ghost:hover,.dgw-hero .dgw-btn-ghost:hover{background:#ffffff0f;border-color:#fff6;color:#fff}.dgw-btn-dark{background:#f1f5f9;border:1px solid #e2e8f0;color:#1e293b}.dgw-btn-dark:hover{background:#e2e8f0;border-color:#cbd5e1}.dgw-btn-vigil{background:#8b5cf626;border:1px solid #8b5cf640;color:#a78bfa}.dgw-btn-vigil:hover{background:#8b5cf640}.dgw-btn-prism{background:#06b6d41f;border:1px solid #06b6d440;color:#22d3ee}.dgw-btn-prism:hover{background:#06b6d438}.dgw-btn-lg{border-radius:12px;font-size:15px;padding:13px 28px}.dgw-hero{background:#04080f;color:#f1f5f9;overflow:hidden;padding:100px var(--dgw-gutter) 80px;position:relative;text-align:center}.dgw-hero:before{background:radial-gradient(circle,#6366f12e 0,#0000 70%);border-radius:50%;content:"";height:600px;left:50%;pointer-events:none;position:absolute;top:-20%;transform:translateX(-50%);width:800px;z-index:0}.dgw-hero-inner{margin:0 auto;max-width:900px;position:relative;z-index:1}.dgw-badge{align-items:center;background:#6366f11f;border:1px solid #6366f140;border-radius:100px;color:#a5b4fc;display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.5px;margin-bottom:28px;padding:6px 14px;text-transform:uppercase}.dgw-badge-dot{animation:pulse-dot 2s infinite;background:#6366f1;border-radius:50%;height:6px;width:6px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.dgw-hero h1{color:#fff;font-size:clamp(40px,6vw,80px);font-weight:800;letter-spacing:-2px;line-height:1.05;margin:0 0 24px}.dgw-hero h1 em{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#06b6d4);-webkit-background-clip:text;background-clip:text;font-style:normal}.dgw-hero-lead{color:var(--dgw-muted);font-size:clamp(17px,2vw,20px);line-height:1.7;margin:0 auto 32px;max-width:640px}.dgw-product-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:36px}.dgw-product-pill{align-items:center;border-radius:100px;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:7px 16px;text-decoration:none;transition:all .2s}.dgw-product-pill.depguard{background:#6366f11f;border:1px solid #6366f147;color:#a5b4fc}.dgw-product-pill.vigil{background:#8b5cf61f;border:1px solid #8b5cf647;color:#c4b5fd}.dgw-product-pill.prism{background:#06b6d41a;border:1px solid #06b6d440;color:#67e8f9}.dgw-product-pill:hover{filter:brightness(1.15);transform:translateY(-2px)}.dgw-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:60px}.dgw-terminal{background:#0d1117;border:1px solid var(--dgw-border);border-radius:14px;box-shadow:0 0 0 1px #6366f114,0 40px 80px #0009;margin:0 auto;max-width:720px;overflow:hidden;text-align:left}.dgw-terminal-bar{align-items:center;background:#161b22;border-bottom:1px solid #ffffff0f;display:flex;gap:6px;padding:12px 16px}.dgw-terminal-dot{border-radius:50%;height:12px;width:12px}.dgw-terminal-dot:first-child{background:#ff5f57}.dgw-terminal-dot:nth-child(2){background:#ffbd2e}.dgw-terminal-dot:nth-child(3){background:#28ca41}.dgw-terminal-title{color:var(--dgw-muted);font-family:JetBrains Mono,monospace;font-size:12px;margin-left:8px}.dgw-terminal-body{color:#c9d1d9;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.8;padding:20px 22px}.dgw-terminal-body .t-prompt{color:#6366f1}.dgw-terminal-body .t-cmd{color:#f0f6fc}.dgw-terminal-body .t-ok{color:#3fb950}.dgw-terminal-body .t-warn{color:#d29922}.dgw-terminal-body .t-err{color:#f85149}.dgw-terminal-body .t-info{color:#58a6ff}.dgw-terminal-body .t-muted{color:#6e7681}.dgw-terminal-body .t-prism{color:#22d3ee}.dgw-terminal-body .t-vigil{color:#a78bfa}.dgw-stats-row{grid-gap:1px;background:#e2e8f0;border-bottom:1px solid #e2e8f0;border-top:1px solid #e2e8f0;display:grid;gap:1px;grid-template-columns:repeat(4,1fr)}.dgw-stat-item{align-items:center;background:var(--dgw-bg);display:flex;flex-direction:column;justify-content:center;padding:32px 16px;text-align:center;transition:background .2s}.dgw-stat-item:hover{background:var(--dgw-surface)}.dgw-stat-value{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-1px;line-height:1;margin-bottom:8px}.dgw-stat-value.c-brand{color:#6366f1}.dgw-stat-value.c-vigil{color:#a78bfa}.dgw-stat-value.c-prism{color:#0891b2}.dgw-stat-value.c-green{color:#16a34a}.dgw-stat-label{color:var(--dgw-muted);font-size:13px;font-weight:500}.dgw-problem-section{background:#f8fafc;color:#0f172a;padding:100px var(--dgw-gutter)}.dgw-problem-section .dgw-section-tag{background:#6366f114;border-color:#6366f133;color:#6366f1}.dgw-problem-section h2{color:#0f172a}.dgw-problem-section .dgw-section-lead{color:#475569}.dgw-fragmentation-grid{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin:60px auto 0;max-width:1100px}.dgw-frag-tools{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.dgw-frag-tool{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:20px}.dgw-frag-tool-icon{font-size:24px;margin-bottom:8px}.dgw-frag-tool-name{color:#1e293b;font-size:14px;font-weight:700;margin-bottom:4px}.dgw-frag-tool-pain{color:#64748b;font-size:12px;line-height:1.5}.dgw-frag-tool-pain strong{color:#ef4444;font-weight:600}.dgw-frag-arrow{align-items:center;color:#6366f1;display:flex;font-size:32px;font-weight:800;justify-content:center}.dgw-frag-solution{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;box-shadow:0 20px 40px #6366f140;color:#fff;padding:32px}.dgw-frag-solution h3{font-size:22px;font-weight:700;margin-bottom:12px}.dgw-frag-solution p{font-size:15px;line-height:1.6;margin-bottom:20px;opacity:.9}.dgw-frag-solution ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.dgw-frag-solution li{align-items:center;display:flex;font-size:14px;gap:8px}.dgw-frag-solution li:before{color:#a5f3fc;content:"✓";flex-shrink:0;font-weight:700}.dgw-section{margin:0 auto;max-width:var(--dgw-page-width);padding:100px var(--dgw-gutter)}.dgw-section-header{margin-bottom:60px;text-align:center}.dgw-section-tag{background:#6366f114;border:1px solid #6366f12e;border-radius:100px;color:#6366f1;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:18px;padding:5px 14px;text-transform:uppercase}.dgw-section h2{color:var(--dgw-text);font-size:clamp(30px,4vw,52px);font-weight:800;letter-spacing:-1px;margin:0 0 16px}.dgw-section-lead{color:var(--dgw-muted);font-size:18px;line-height:1.7;margin:0 auto;max-width:600px}.dgw-product-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.dgw-product-card{--product-color:#6366f1;background:var(--dgw-surface);border:1px solid var(--dgw-border);border-radius:20px;overflow:hidden;padding:36px 30px;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}.dgw-product-card:before{background:var(--product-color);border-radius:20px 0 0 20px;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.dgw-product-card:after{background:radial-gradient(circle,var(--product-color),#0000 70%);border-radius:50%;content:"";height:200px;opacity:.07;pointer-events:none;position:absolute;right:-60px;top:-60px;width:200px}.dgw-product-card:hover{border-color:var(--product-color);box-shadow:0 12px 40px #0000001a,0 0 0 1px var(--product-color);transform:translateY(-4px)}.dgw-product-card.depguard{--product-color:#6366f1}.dgw-product-card.vigil{--product-color:#8b5cf6}.dgw-product-card.prism{--product-color:#06b6d4}.dgw-card-icon{align-items:center;background:rgba(var(--product-color-rgb),.1);border:1px solid rgba(var(--product-color-rgb),.2);border-radius:14px;display:flex;font-size:24px;height:52px;justify-content:center;margin-bottom:20px;width:52px}.dgw-product-card.depguard .dgw-card-icon{background:#6366f11f;border-color:#6366f138}.dgw-product-card.vigil .dgw-card-icon{background:#8b5cf61f;border-color:#8b5cf638}.dgw-product-card.prism .dgw-card-icon{background:#06b6d41a;border-color:#06b6d433}.dgw-card-kicker{color:var(--product-color);display:block;font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.dgw-product-card h3{color:var(--dgw-text);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}.dgw-product-card .dgw-tagline{color:var(--dgw-muted);font-size:13px;font-style:italic;margin-bottom:20px}.dgw-feature-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0 0 24px;padding:0}.dgw-feature-list li{align-items:flex-start;color:var(--dgw-muted);display:flex;font-size:14px;gap:10px;line-height:1.5}.dgw-feature-list li:before{background:var(--product-color);border-radius:50%;content:"";flex-shrink:0;height:6px;margin-top:6px;width:6px}.dgw-platform-section{background:#f1f5f9;border-bottom:1px solid #e2e8f0;border-top:1px solid #e2e8f0;padding:100px var(--dgw-gutter)}.dgw-platform-inner{margin:0 auto;max-width:var(--dgw-page-width)}.dgw-platform-diagram{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:60px}.dgw-platform-node{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 4px #0000000f;min-width:200px;padding:24px 28px;text-align:center;transition:all .25s}.dgw-platform-node:hover{transform:translateY(-3px)}.dgw-platform-node.foundation{background:#06b6d40f;border-color:#06b6d440;box-shadow:0 0 0 1px #06b6d41a,0 20px 40px #06b6d414;min-width:240px;padding:32px 36px}.dgw-platform-node-icon{font-size:28px;margin-bottom:10px}.dgw-platform-node-name{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:4px}.dgw-platform-node-desc{color:var(--dgw-muted);font-size:12px;line-height:1.4}.dgw-platform-node.foundation .dgw-platform-node-name{color:#0891b2;font-size:20px}.dgw-platform-node.foundation .dgw-platform-node-desc{font-size:13px}.dgw-platform-connector{align-items:center;color:var(--dgw-muted);display:flex;flex-direction:column;font-size:12px;gap:4px}.dgw-platform-connector-line{background:linear-gradient(90deg,var(--dgw-border),#06b6d44d,var(--dgw-border));height:1px;width:60px}.dgw-platform-clients{display:flex;flex-direction:column;gap:12px}.dgw-cta-band{background:linear-gradient(135deg,#312e81,#4f46e5 40%,#6366f1 70%,#7c3aed);overflow:hidden;padding:100px var(--dgw-gutter);position:relative;text-align:center}.dgw-cta-band:before{background-image:linear-gradient(#ffffff08 1px,#0000 0),linear-gradient(90deg,#ffffff08 1px,#0000 0);background-size:40px 40px;content:"";inset:0;pointer-events:none;position:absolute}.dgw-cta-band-inner{margin:0 auto;max-width:var(--dgw-page-width);position:relative;z-index:1}.dgw-cta-band h2{color:#fff;font-size:clamp(30px,4vw,52px);font-weight:800;letter-spacing:-1px;margin-bottom:16px}.dgw-cta-band p{color:#ffffffbf;font-size:18px;line-height:1.7;margin:0 auto 40px;max-width:520px}.dgw-cta-band-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.dgw-btn-cta-white{align-items:center;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;color:#4f46e5;display:inline-flex;font-size:15px;font-weight:700;gap:8px;padding:14px 28px;text-decoration:none;transition:all .2s}.dgw-btn-cta-white:hover{box-shadow:0 12px 32px #0000004d;transform:translateY(-2px)}.dgw-btn-cta-ghost{align-items:center;background:#ffffff1a;border:1px solid #ffffff40;border-radius:12px;color:#fff;display:inline-flex;font-size:15px;gap:8px;padding:14px 28px;text-decoration:none;transition:all .2s}.dgw-btn-cta-ghost:hover{background:#ffffff2e;border-color:#fff6}.dgw-footer{background:#0f172a;border-top:1px solid #1e293b;color:#94a3b8;padding:60px var(--dgw-gutter) 40px}.dgw-footer-inner{grid-gap:60px;border-bottom:1px solid #1e293b;display:grid;gap:60px;grid-template-columns:2fr 3fr;margin:0 auto 32px;max-width:var(--dgw-page-width);padding-bottom:40px}.dgw-footer-brand strong{color:#fff;display:block;font-size:18px;font-weight:700;margin-bottom:8px;margin-top:16px}.dgw-footer-brand p{color:var(--dgw-muted);font-size:14px;line-height:1.7;margin-bottom:20px;max-width:280px}.dgw-footer-actions{display:flex;flex-wrap:wrap;gap:8px}.dgw-footer-columns{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.dgw-footer-col-label{color:#fff;display:block;font-size:12px;font-weight:700;letter-spacing:.6px;margin-bottom:16px;text-transform:uppercase}.dgw-footer-links{display:flex;flex-direction:column;gap:10px}.dgw-footer-links a{color:var(--dgw-muted);font-size:14px;text-decoration:none;transition:color .15s}.dgw-footer-links a:hover{color:#f1f5f9}.dgw-footer-bottom{align-items:center;color:#64748b;display:flex;font-size:13px;justify-content:space-between;margin:0 auto;max-width:var(--dgw-page-width)}.dgw-product-hero{background:#04080f;border-bottom:1px solid #1e293b;color:#f1f5f9;overflow:hidden;padding:80px var(--dgw-gutter) 60px;position:relative}.dgw-product-hero:before{background:radial-gradient(circle,#6366f126,#0000 70%);background:radial-gradient(circle,var(--product-hero-glow,#6366f126),#0000 70%);border-radius:50%;content:"";height:600px;pointer-events:none;position:absolute;right:-100px;top:-100px;width:600px}.dgw-product-hero-inner{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:var(--dgw-page-width);position:relative;z-index:1}.dgw-product-hero h1{color:#fff;font-size:clamp(36px,5vw,64px);font-weight:800;letter-spacing:-1.5px;line-height:1.08;margin-bottom:20px}.dgw-product-hero-lead{color:var(--dgw-muted);font-size:18px;line-height:1.7;margin-bottom:32px}.dgw-feature-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.dgw-feature-item{background:var(--dgw-surface);border:1px solid var(--dgw-border);border-radius:14px;padding:24px;transition:border-color .2s,transform .2s}.dgw-feature-item:hover{border-color:#6366f159;box-shadow:0 4px 16px #6366f114;transform:translateY(-2px)}.dgw-feature-item-icon{font-size:20px;margin-bottom:10px}.dgw-feature-item-title{color:#1e293b;font-size:14px;font-weight:700;margin-bottom:6px}.dgw-feature-item-desc{color:var(--dgw-muted);font-size:13px;line-height:1.5}.dgw-code-block{background:#0d1117;border:1px solid var(--dgw-border);border-radius:12px;margin:20px 0;overflow:hidden}.dgw-code-block-header{align-items:center;background:#161b22;border-bottom:1px solid #ffffff0f;color:var(--dgw-muted);display:flex;font-family:JetBrains Mono,monospace;font-size:12px;justify-content:space-between;padding:10px 16px}.dgw-code-block pre{color:#c9d1d9;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.8;margin:0;overflow-x:auto;padding:20px}.dgw-roadmap{display:flex;flex-direction:column;gap:0;position:relative}.dgw-roadmap:before{background:linear-gradient(180deg,#06b6d4,#6366f1,#6366f100);bottom:0;content:"";left:20px;position:absolute;top:0;width:2px}.dgw-roadmap-step{display:flex;gap:24px;padding:0 0 32px;position:relative}.dgw-roadmap-bullet{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:40px;justify-content:center;position:relative;width:40px;z-index:1}.dgw-roadmap-bullet.done{background:#06b6d4;color:#fff}.dgw-roadmap-bullet.active{background:#6366f1;box-shadow:0 0 0 4px #6366f133;color:#fff}.dgw-roadmap-bullet.pending{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.dgw-roadmap-content{padding-top:8px}.dgw-roadmap-phase{color:var(--dgw-muted);font-size:11px;font-weight:700;letter-spacing:.6px;margin-bottom:4px;text-transform:uppercase}.dgw-roadmap-title{color:var(--dgw-text);font-size:16px;font-weight:700;margin-bottom:6px}.dgw-roadmap-desc{color:var(--dgw-muted);font-size:14px;line-height:1.5}.dgw-spec-table{border-collapse:collapse;width:100%}.dgw-spec-table td,.dgw-spec-table th{border-bottom:1px solid var(--dgw-border);font-size:14px;padding:14px 20px;text-align:left}.dgw-spec-table th{background:#f8fafc;color:var(--dgw-muted);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.dgw-spec-table td{color:var(--dgw-text)}.dgw-spec-table td strong{color:#1e293b;font-weight:700}.dgw-spec-table tr:last-child td{border-bottom:none}.dgw-compare-table{border:1px solid var(--dgw-border);border-collapse:collapse;border-radius:12px;overflow:hidden;width:100%}.dgw-compare-table th{background:#f1f5f9;border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:13px;font-weight:700;padding:16px 20px;text-align:left}.dgw-compare-table td{border-bottom:1px solid var(--dgw-border);color:var(--dgw-muted);font-size:14px;padding:13px 20px}.dgw-compare-table tr:last-child td{border-bottom:none}.dgw-compare-table .c-yes{color:#4ade80;font-weight:600}.dgw-compare-table .c-no{color:#f87171}.dgw-compare-table .c-partial{color:#fbbf24}.dgw-tabs{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:4px;margin-bottom:48px;padding:4px;width:-moz-fit-content;width:fit-content}.dgw-tab{align-items:center;background:none;border:none;border-radius:9px;color:var(--dgw-muted);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:9px 22px;transition:all .2s}.dgw-tab.active{background:#6366f1;box-shadow:0 2px 8px #6366f140;color:#fff}.dgw-tab:hover:not(.active){background:#6366f10f;color:#1e293b}.dgw-content{position:relative;z-index:1}.dgw-grid-2{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.dgw-grid-3{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.dgw-grid-4{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.dgw-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:28px;transition:border-color .2s,transform .2s,box-shadow .2s}.dgw-card:hover{border-color:#6366f159;box-shadow:0 4px 16px #6366f11a;transform:translateY(-2px)}@media (max-width:1024px){.dgw-footer-inner,.dgw-fragmentation-grid,.dgw-product-cards{grid-template-columns:1fr}.dgw-stats-row{grid-template-columns:repeat(2,1fr)}.dgw-feature-grid,.dgw-product-hero-inner{grid-template-columns:1fr}}@media (max-width:768px){.dgw-topbar{padding:10px 16px}.dgw-nav{display:none}.dgw-hero{padding:60px 20px 40px}.dgw-stats-row{grid-template-columns:repeat(2,1fr)}.dgw-footer-columns{grid-template-columns:1fr}.dgw-hero-actions{align-items:center;flex-direction:column}.dgw-frag-tools{grid-template-columns:1fr}}@media print{.dgw-footer,.dgw-nav-actions,.dgw-topbar{display:none!important}.dgw-shell{background:#fff!important}.dgw-page-wrap section[style*="04080f"],.dgw-page-wrap section[style*="080d1c"]{background:#1e293b!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{text-decoration:none}@page{size:A4;margin:1.5cm 2cm}}.dgw-illustration-frame{overflow:hidden;width:100%}.dgw-illustration-svg{display:block;height:auto;width:100%}.dgw-illus-panel{fill:#6366f10f;stroke:#6366f11f;stroke-width:1}.dgw-illus-shield{fill:#6366f124;stroke:#6366f180;stroke-width:1.5}.dgw-illus-node{fill:#6366f1}.dgw-illus-node-gold{fill:#c4a35a}.dgw-illus-node-dark{fill:#1e293b}.dgw-illus-line{fill:none;stroke:#6366f1;stroke-width:1.5}.dgw-illus-line-soft{fill:none;stroke:#e2e8f0;stroke-width:1}.dgw-illus-orbit{fill:none;stroke:#6366f133;stroke-width:1}.dgw-illus-core{fill:#6366f10f;stroke:#6366f133;stroke-width:1}.dgw-illus-chip{fill:#6366f10f;stroke:#6366f126;stroke-width:1}.dgw-illus-band{fill:#6366f10d}.dgw-illus-band-mid{fill:#8b5cf612}.dgw-hero-split{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px!important}.dgw-hero-left{text-align:left}.dgw-hero-left .dgw-hero-lead{margin:0 0 32px;max-width:520px}.dgw-hero-left .dgw-hero-actions,.dgw-hero-left .dgw-product-pills{justify-content:flex-start}.dgw-hero-right{position:relative;z-index:1}.dgw-hero-right-glow{background:radial-gradient(ellipse at center,#6366f126 0,#0000 70%);inset:-30px;pointer-events:none;position:absolute;z-index:0}.dgw-hero-right>*{position:relative;z-index:1}.dgw-hero-illus-wrap{border-radius:16px;box-shadow:0 32px 80px #0009,0 0 0 1px #6366f133;overflow:hidden}@media (max-width:900px){.dgw-hero-split{grid-template-columns:1fr}.dgw-hero-right{display:none}.dgw-hero-left{text-align:center}.dgw-hero-left .dgw-hero-actions,.dgw-hero-left .dgw-product-pills{justify-content:center}.dgw-hero-left .dgw-hero-lead{margin:0 auto 32px}}.dgw-impact-section{background:#fff;padding:96px 24px}.dgw-impact-inner{grid-gap:64px;align-items:center;display:grid;gap:64px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px}.dgw-impact-text h2{color:#0f172a;font-size:clamp(26px,3.5vw,42px);font-weight:800;letter-spacing:-1px;margin:0 0 20px}.dgw-impact-text p{color:#475569;font-size:16px;line-height:1.7;margin:0 0 28px}.dgw-impact-points{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0 0 32px;padding:0}.dgw-impact-points li{align-items:flex-start;color:#334155;display:flex;font-size:15px;gap:10px;line-height:1.5}.dgw-impact-points li:before{color:#6366f1;content:"→";flex-shrink:0;font-weight:700;margin-top:1px}.dgw-impact-graph-wrap{border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 40px #00000014;overflow:hidden}@media (max-width:768px){.dgw-impact-inner{grid-template-columns:1fr}.dgw-impact-graph-wrap{display:none}}@keyframes slideUpBanner{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.dgw-testimonials-section{background:#f8fafc;padding:96px 24px}.dgw-testimonials-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1100px}.dgw-testimonial-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:32px;position:relative;transition:box-shadow .2s,transform .2s}.dgw-testimonial-card:hover{box-shadow:0 8px 32px #6366f11a;transform:translateY(-2px)}.dgw-testimonial-card:before{color:#6366f11f;content:"\201C";font-family:Georgia,serif;font-size:64px;line-height:1;position:absolute;right:24px;top:16px}.dgw-testimonial-stars{color:#f59e0b;font-size:14px;letter-spacing:2px}.dgw-testimonial-quote{color:#334155;flex-grow:1;font-size:15px;line-height:1.7;margin:0}.dgw-testimonial-author{align-items:center;border-top:1px solid #f1f5f9;display:flex;gap:12px;padding-top:16px}.dgw-testimonial-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:800;height:40px;justify-content:center;width:40px}.dgw-testimonial-name{color:#0f172a;font-size:14px;font-weight:700}.dgw-testimonial-company{color:#64748b;font-size:12px}.dgw-frag-tool:hover{border-color:#6366f14d;transform:translateY(-2px);transition:all .2s}@media (max-width:768px){.dgw-platform-diagram{align-items:center;flex-direction:column}.dgw-platform-connector-line{height:40px;width:2px}.dgw-platform-clients{flex-direction:row;gap:12px}}.login-page{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);display:flex;justify-content:center;min-height:100vh}.login-card{background:#1e293b;background:var(--surface,#1e293b);border:1px solid #334155;border:1px solid var(--border,#334155);border-radius:16px;box-shadow:0 25px 50px #0006;max-width:400px;padding:40px;width:100%}.login-logo{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:6px}.login-logo-icon{font-size:2rem}.login-logo-text{color:#f1f5f9;color:var(--text-primary,#f1f5f9);font-size:1.8rem;font-weight:700;letter-spacing:-.5px}.login-subtitle{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.85rem;margin:0 0 28px;text-align:center}.login-tabs{background:#0f172a;background:var(--bg-secondary,#0f172a);border-radius:8px;display:flex;margin-bottom:24px;padding:4px}.login-tabs button{background:none;border:none;border-radius:6px;color:#94a3b8;color:var(--text-secondary,#94a3b8);cursor:pointer;flex:1 1;font-size:.9rem;padding:8px;transition:all .2s}.login-tabs button.active{background:#3b82f6;background:var(--accent,#3b82f6);color:#fff;font-weight:600}.login-form{gap:16px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field label{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.login-field input{background:#0f172a;background:var(--bg-secondary,#0f172a);border:1px solid #334155;border:1px solid var(--border,#334155);border-radius:8px;color:#f1f5f9;color:var(--text-primary,#f1f5f9);font-size:.95rem;outline:none;padding:10px 14px;transition:border-color .2s}.login-field input:focus{border-color:#3b82f6;border-color:var(--accent,#3b82f6)}.login-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#f87171;font-size:.85rem;padding:10px 14px}.login-submit{background:#3b82f6;background:var(--accent,#3b82f6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:4px;padding:12px;transition:background .2s,opacity .2s}.login-submit:hover:not(:disabled){background:#2563eb}.login-submit:disabled{cursor:not-allowed;opacity:.6}.login-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.78rem;line-height:1.5;margin-top:16px;text-align:center}.login-sso-section{margin-bottom:18px}.login-sso-button{background:#6366f11f;border:1px solid #818cf859;border-radius:8px;color:#e2e8f0;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px;transition:background .2s,border-color .2s,opacity .2s;width:100%}.login-sso-button:hover:not(:disabled){background:#6366f133;border-color:#818cf88c}.login-sso-button:disabled{cursor:not-allowed;opacity:.6}.login-divider{align-items:center;color:#94a3b8;color:var(--text-secondary,#94a3b8);display:flex;font-size:.75rem;gap:12px;letter-spacing:.08em;margin:14px 0 2px;text-transform:uppercase}.login-divider:after,.login-divider:before{background:#94a3b840;content:"";flex:1 1;height:1px}.trial-page{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);display:flex;min-height:100vh}.trial-left{border-right:1px solid #ffffff12;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:60px 48px}@media (max-width:860px){.trial-left{display:none}}.trial-logo{align-items:center;display:flex;gap:10px;margin-bottom:48px}.trial-logo-icon{font-size:2rem}.trial-logo-text{color:#f1f5f9;font-size:1.6rem;font-weight:800;letter-spacing:-.5px}.trial-left h2{color:#f1f5f9;font-size:1.9rem;font-weight:900;letter-spacing:-1px;line-height:1.2;margin:0 0 12px}.trial-left p{color:#94a3b8;font-size:.95rem;line-height:1.7;margin:0 0 32px}.trial-benefits{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0 0 40px;padding:0}.trial-benefit{align-items:flex-start;display:flex;gap:12px}.trial-benefit-icon{align-items:center;background:#6366f133;border:1px solid #6366f14d;border-radius:8px;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;width:32px}.trial-benefit-text strong{color:#f1f5f9;display:block;font-size:.88rem;font-weight:600}.trial-benefit-text span{color:#64748b;font-size:.8rem}.trial-plan-pill{background:#6366f126;border:1px solid #6366f14d;border-radius:30px;color:#a5b4fc}.trial-early-pill,.trial-plan-pill{align-items:center;display:inline-flex;font-size:.82rem;font-weight:600;gap:8px;padding:6px 16px}.trial-early-pill{background:#10b9811f;border:1px solid #10b98140;border-radius:30px;color:#6ee7b7;margin-left:8px}.trial-testimonial{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;margin-top:32px;padding:18px 20px}.trial-testimonial-text{color:#cbd5e1;font-size:.85rem;font-style:italic;line-height:1.6;margin-bottom:10px}.trial-testimonial-author{color:#64748b;font-size:.78rem;font-weight:600}.trial-right{display:flex;flex-direction:column;flex-shrink:0;justify-content:center;overflow-y:auto;padding:48px 40px;width:440px}@media (max-width:860px){.trial-right{padding:40px 24px;width:100%}}.trial-form-header{margin-bottom:28px}.trial-form-header h1{color:#f1f5f9;font-size:1.6rem;font-weight:800;letter-spacing:-.5px;margin:0 0 6px}.trial-form-header p{color:#64748b;font-size:.85rem;line-height:1.5;margin:0}.trial-form{gap:14px}.trial-field,.trial-form{display:flex;flex-direction:column}.trial-field{gap:5px}.trial-field label{color:#94a3b8;font-size:.75rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.trial-field input{background:#ffffff0d;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:.9rem;outline:none;padding:10px 14px;transition:border-color .2s}.trial-field input:focus{background:#6366f10f;border-color:#6366f1}.trial-field input::placeholder{color:#475569}.trial-plan-select{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.trial-plan-option{background:#ffffff08;border:1px solid #334155;border-radius:8px;cursor:pointer;padding:10px 12px;transition:border-color .15s,background .15s}.trial-plan-option.selected{background:#6366f11a;border-color:#6366f1}.trial-plan-option:hover:not(.selected){border-color:#475569}.trial-plan-option-name{color:#f1f5f9;font-size:.82rem;font-weight:700}.trial-plan-option.selected .trial-plan-option-name{color:#a5b4fc}.trial-plan-option-price{color:#64748b;font-size:.75rem;margin-top:2px}.trial-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#f87171;font-size:.83rem;padding:10px 14px}.trial-submit{background:#6366f1;border:none;border-radius:8px;box-shadow:0 2px 12px #6366f166;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;margin-top:4px;padding:12px;transition:opacity .15s,box-shadow .15s}.trial-submit:hover:not(:disabled){box-shadow:0 4px 20px #6366f180;opacity:.88}.trial-submit:disabled{cursor:not-allowed;opacity:.55}.trial-legal{color:#475569;font-size:.72rem;line-height:1.5;margin-top:4px;text-align:center}.trial-login-link{color:#64748b;font-size:.82rem;margin-top:16px;text-align:center}.trial-login-link a,.trial-login-link button{background:none;border:none;color:#818cf8;cursor:pointer;font-size:inherit;font-weight:600;text-decoration:none}.trial-login-link a:hover,.trial-login-link button:hover{color:#a5b4fc}.trial-success{padding:20px 0;text-align:center}.trial-success-icon{animation:pop-in .4s cubic-bezier(.175,.885,.32,1.275);font-size:3.5rem;margin-bottom:16px}.trial-success h2{color:#f1f5f9;font-size:1.5rem;font-weight:800;letter-spacing:-.5px;margin:0 0 8px}.trial-success p{color:#94a3b8;font-size:.88rem;line-height:1.6;margin:0 0 24px}.trial-next-steps{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0 0 28px;padding:0;text-align:left}.trial-next-step{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;color:#cbd5e1;display:flex;font-size:.84rem;gap:12px;padding:10px 14px}.trial-next-step-num{align-items:center;background:#6366f14d;border-radius:50%;color:#a5b4fc;display:flex;flex-shrink:0;font-size:.72rem;font-weight:800;height:22px;justify-content:center;width:22px}.trial-go-btn{background:#6366f1;border:none;border-radius:8px;box-shadow:0 2px 12px #6366f166;color:#fff;cursor:pointer;display:block;font-size:.95rem;font-weight:700;padding:12px;transition:opacity .15s;width:100%}.trial-go-btn:hover{opacity:.88}.contact-page{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);display:flex;min-height:100vh}.contact-left{border-right:1px solid #ffffff12;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:60px 48px}@media (max-width:860px){.contact-left{display:none}}.contact-logo{align-items:center;cursor:pointer;display:flex;gap:10px;margin-bottom:48px}.contact-logo-icon{font-size:2rem}.contact-logo-text{color:#f1f5f9;font-size:1.6rem;font-weight:800;letter-spacing:-.5px}.contact-left h2{color:#f1f5f9;font-size:1.9rem;font-weight:900;letter-spacing:-1px;line-height:1.2;margin:0 0 14px}.contact-left p{color:#94a3b8;font-size:.93rem;line-height:1.7;margin:0 0 32px}.contact-enterprise-features{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0 0 36px;padding:0}.contact-ent-feature{align-items:center;color:#cbd5e1;display:flex;font-size:.85rem;gap:10px}.contact-ent-check{align-items:center;background:#10b98133;border-radius:50%;color:#6ee7b7;display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:20px;justify-content:center;width:20px}.contact-trust{display:flex;flex-wrap:wrap;gap:20px}.contact-trust-item{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:6px}.contact-right{display:flex;flex-direction:column;flex-shrink:0;justify-content:center;overflow-y:auto;padding:48px 40px;width:460px}@media (max-width:860px){.contact-right{padding:40px 24px;width:100%}}.contact-form-header{margin-bottom:28px}.contact-form-header h1{color:#f1f5f9;font-size:1.5rem;font-weight:800;letter-spacing:-.5px;margin:0 0 6px}.contact-form-header p{color:#64748b;font-size:.84rem;line-height:1.5;margin:0}.contact-type-tabs{display:flex;gap:8px;margin-bottom:24px}.contact-type-tab{background:#ffffff05;border:1px solid #334155;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:600;padding:10px;text-align:center;transition:.15s}.contact-type-tab.active{background:#6366f11a;border-color:#6366f1;color:#a5b4fc}.contact-form{gap:14px}.contact-field,.contact-form{display:flex;flex-direction:column}.contact-field{gap:5px}.contact-field label{color:#94a3b8;font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.contact-field input,.contact-field select,.contact-field textarea{background:#ffffff0a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-family:inherit;font-size:.9rem;outline:none;padding:10px 14px;transition:border-color .2s}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{background:#6366f10f;border-color:#6366f1}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#475569}.contact-field select option{background:#1e293b;color:#f1f5f9}.contact-field textarea{min-height:90px;resize:vertical}.contact-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#f87171;font-size:.83rem;padding:10px 14px}.contact-submit{background:#6366f1;border:none;border-radius:8px;box-shadow:0 2px 12px #6366f166;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;margin-top:4px;padding:12px;transition:opacity .15s,box-shadow .15s}.contact-submit:hover:not(:disabled){opacity:.88}.contact-submit:disabled{cursor:not-allowed;opacity:.55}.contact-success{padding:20px 0;text-align:center}.contact-success-icon{animation:pop-in .4s cubic-bezier(.175,.885,.32,1.275);font-size:3.5rem;margin-bottom:16px}@keyframes pop-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.contact-success h2{color:#f1f5f9;font-size:1.5rem;font-weight:800;margin:0 0 10px}.contact-success p{color:#94a3b8;font-size:.88rem;line-height:1.6;margin:0 0 24px}.contact-back-btn{background:#ffffff0f;border:1px solid #334155;border-radius:8px;color:#cbd5e1;cursor:pointer;display:block;font-size:.9rem;font-weight:600;padding:12px;transition:background .15s;width:100%}.contact-back-btn:hover{background:#ffffff1a}.cp-overlay{align-items:flex-start;animation:cp-fadein .12s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;display:flex;inset:0;justify-content:center;padding-top:12vh;position:fixed;z-index:9999}@keyframes cp-fadein{0%{opacity:0}to{opacity:1}}.cp-modal{animation:cp-slidein .14s cubic-bezier(.23,1,.32,1);background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:14px;box-shadow:0 20px 60px #0006,0 4px 16px #0003;display:flex;flex-direction:column;max-height:70vh;max-width:560px;overflow:hidden;width:100%}@keyframes cp-slidein{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cp-search-row{align-items:center;border-bottom:1px solid var(--bs-border-color);display:flex;flex-shrink:0;gap:10px;padding:14px 16px}.cp-search-icon{font-size:1rem;opacity:.6}.cp-input{background:none;border:none;color:var(--bs-body-color);flex:1 1;font-family:sans-serif;font-family:var(--font-sans,sans-serif);font-size:.975rem;font-weight:500;outline:none}.cp-input::placeholder{color:var(--bs-secondary-color);font-weight:400}.cp-esc-hint{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:4px;color:var(--bs-secondary-color);flex-shrink:0;font-family:sans-serif;font-family:var(--font-sans,sans-serif);font-size:.65rem;padding:2px 6px}.cp-list{flex:1 1;overflow-y:auto;padding:6px}.cp-empty{color:var(--bs-secondary-color);font-size:.85rem;padding:2rem;text-align:center}.cp-group{margin-bottom:4px}.cp-group-label{color:var(--bs-secondary-color);font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:6px 10px 4px;text-transform:uppercase}.cp-item{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:sans-serif;font-family:var(--font-sans,sans-serif);gap:10px;padding:8px 10px;text-align:left;transition:background .1s;width:100%}.cp-item.active,.cp-item:hover{background:#6366f11f;background:var(--accent-light,#6366f11f)}.cp-item-icon{flex-shrink:0;font-size:1rem;text-align:center;width:22px}.cp-item-label{color:var(--bs-body-color);flex:1 1;font-size:.875rem;font-weight:500}.cp-item.active .cp-item-label{color:#6366f1;color:var(--accent-text,#6366f1);font-weight:600}.cp-item-ext{font-size:.75rem}.cp-footer,.cp-item-ext{color:var(--bs-secondary-color)}.cp-footer{align-items:center;border-top:1px solid var(--bs-border-color);display:flex;flex-shrink:0;font-size:.7rem;gap:16px;padding:8px 14px}.cp-footer kbd{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:3px;font-family:sans-serif;font-family:var(--font-sans,sans-serif);font-size:.62rem;margin-right:3px;padding:1px 5px}
/*# sourceMappingURL=main.86a3373b.css.map*/