.pref-panel-paper{background:#1e293b!important;border-right:1px solid #ffffff0f!important;width:272px!important;box-shadow:4px 0 24px #0000004d!important}.pref-panel-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 16px 14px;display:flex}.pref-panel-title{color:#f8fafc!important;letter-spacing:-.1px!important;font-size:13px!important;font-weight:650!important}.pref-panel-close-btn{color:#64748b!important;transition:background var(--transition-fast), color var(--transition-fast)!important;border-radius:6px!important}.pref-panel-close-btn:hover{color:#94a3b8!important;background:#94a3b81a!important}.pref-panel-body{flex:1;padding:12px 0 16px;overflow-y:auto}.pref-section-label{text-transform:uppercase;letter-spacing:.8px!important;color:#475569!important;padding:8px 16px 6px!important;font-size:10px!important;font-weight:600!important}.pref-section-sub{color:#475569!important;padding:0 16px 6px!important;font-size:11px!important;line-height:1.4!important}.pref-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;display:flex}.pref-row:hover{background:#ffffff08}.pref-row-text{flex-direction:column;gap:1px;min-width:0;display:flex}.pref-row-label{white-space:nowrap;color:#cbd5e1!important;font-size:13px!important;font-weight:450!important}.pref-row-sub{color:#475569!important;font-size:11px!important}.pref-divider{border-color:#ffffff0f!important;margin:8px 0!important}.pref-switch .MuiSwitch-track{background-color:#94a3b840!important}.pref-switch .MuiSwitch-thumb{color:#64748b}.pref-switch .Mui-checked .MuiSwitch-thumb{color:#3b82f6}.pref-switch .Mui-checked+.MuiSwitch-track{background-color:#3b82f666!important}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);z-index:10;height:100vh;transition:width var(--transition-base), min-width var(--transition-base);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.sidebar.collapsed{width:56px;min-width:56px}.sidebar-logo{border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:10px;padding:16px 14px 14px;display:flex;overflow:hidden}.sidebar-logo-icon{background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.sidebar-logo-icon-svg{color:#fff;font-size:16px!important}.sidebar-logo-text{opacity:1;transition:opacity var(--transition-base);white-space:nowrap;flex-direction:column;display:flex;overflow:hidden}.sidebar.collapsed .sidebar-logo-text{opacity:0;pointer-events:none}.sidebar-logo-line1{color:#f8fafc;letter-spacing:-.2px;font-size:12px;font-weight:700;line-height:1.2}.sidebar-logo-line2{color:#64748b;letter-spacing:.2px;font-size:10px;font-weight:500;line-height:1.2}.sidebar-scroll{flex-direction:column;flex:1;padding:10px 0;display:flex;overflow:hidden auto}.sidebar-scroll::-webkit-scrollbar{width:3px}.sidebar-section{margin-bottom:4px;padding:0 8px}.sidebar-nav-item{border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);color:var(--sidebar-text);font-size:var(--text-md);font-weight:450;font-family:var(--font-sans);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:10px;width:100%;padding:8px 10px;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar-nav-item:hover{background:var(--sidebar-hover);color:#cbd5e1;text-decoration:none}.sidebar-nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-text-active);border-left-color:var(--sidebar-active-border);font-weight:550}.sidebar-nav-icon{opacity:.75;flex-shrink:0;color:inherit!important;font-size:16px!important}.sidebar-nav-item.active .sidebar-nav-icon{opacity:1;color:var(--sidebar-active-border)!important}.sidebar-nav-item:hover .sidebar-nav-icon{opacity:.9}.sidebar-nav-label{transition:opacity var(--transition-base);font-size:var(--text-md)}.sidebar.collapsed .sidebar-nav-label{opacity:0;pointer-events:none}.sidebar-nav-badge.MuiChip-root{color:#60a5fa;border-radius:var(--radius-full);height:18px;transition:opacity var(--transition-base);background:#3b82f633;font-size:10px;font-weight:600}.sidebar.collapsed .sidebar-nav-badge{opacity:0}.sidebar-divider{border-color:#ffffff0f!important;margin:6px 8px!important}.sidebar-filter-heading{text-transform:uppercase;white-space:nowrap;letter-spacing:.8px!important;color:var(--sidebar-section-label)!important;padding:6px 18px 5px!important;font-size:10px!important;font-weight:600!important}.sidebar-filter-status{border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #ffffff0f;margin:4px 8px 8px;padding:12px;overflow:hidden}.sidebar-filter-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sidebar-filter-label{font-size:var(--text-xs)!important;color:var(--sidebar-section-label)!important;font-weight:500!important}.sidebar-filter-view{font-size:var(--text-xs)!important;color:#94a3b8!important}.sidebar-filter-stat{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.sidebar-filter-stat-label{font-size:var(--text-xs)!important;color:#64748b!important}.sidebar-filter-stat-value{font-size:var(--text-xs)!important;color:#94a3b8!important;font-weight:700!important}.sidebar-progress-ring{justify-content:center;align-items:center;margin-top:10px;display:flex}.sidebar-progress-ring-wrap{width:64px;height:64px;position:relative}.sidebar-progress-track,.sidebar-progress-fill{top:0;left:0;position:absolute!important}.sidebar-progress-track{color:#ffffff14!important}.sidebar-progress-fill{color:#3b82f6!important}.sidebar-progress-ring-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sidebar-progress-ring-pct{color:#f8fafc!important;font-size:13px!important;font-weight:700!important;line-height:1!important}.sidebar-progress-ring-sub{text-align:center;margin-top:1px;color:#64748b!important;font-size:8px!important}.sidebar-bottom{border-top:1px solid #ffffff0f;flex-shrink:0;padding:8px 8px 12px}.sidebar-nav-item-disabled{pointer-events:none;opacity:.4}.sidebar-collapse-btn{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--sidebar-text);font-size:var(--text-md);font-family:var(--font-sans);transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-weight:450;display:flex;overflow:hidden}.sidebar-collapse-btn:hover{background:var(--sidebar-hover);color:#cbd5e1}.sidebar-collapse-btn-icon{opacity:.7;transition:transform var(--transition-base);flex-shrink:0;color:inherit!important;font-size:18px!important}.sidebar.collapsed .sidebar-collapse-btn-icon{transform:rotate(180deg)}.sidebar-collapse-btn-label{font-size:var(--text-sm);transition:opacity var(--transition-base)}.sidebar.collapsed .sidebar-collapse-btn-label{opacity:0;pointer-events:none}.topbar.MuiAppBar-root{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:9;flex-direction:row;align-items:center;gap:12px;padding:0 20px 0 24px}.topbar-search-input{background:var(--color-bg);flex:1;max-width:440px;height:36px;border-radius:var(--radius-md)!important;font-size:var(--text-base)!important;font-family:var(--font-sans)!important}.topbar-search-input .MuiOutlinedInput-notchedOutline,.topbar-search-input:hover .MuiOutlinedInput-notchedOutline{border-color:var(--color-border)}.topbar-search-input.Mui-focused{background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-light)}.topbar-search-input.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--color-accent)!important}.topbar-search-input input::placeholder{color:var(--color-text-muted);opacity:1}.topbar-search-input .MuiInputAdornment-root{color:var(--color-text-muted)}.topbar-search-icon{font-size:15px!important}.topbar-search-shortcut{background:var(--color-border-light);border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--color-text-muted);pointer-events:none;padding:1px 5px;font-size:10px}.topbar-spacer{flex:1}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-btn.MuiButton-root{height:34px;font-size:var(--text-sm);letter-spacing:.1px;white-space:nowrap;border-width:1.5px;font-weight:600}.topbar-btn .MuiButton-startIcon svg{font-size:14px!important}.topbar-btn-filter.MuiButton-root{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.topbar-btn-filter.MuiButton-root:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-accent)}.topbar-btn-filter.active.MuiButton-root{background:var(--color-accent-light);border-color:var(--color-accent-border);color:var(--color-accent)}.topbar-filter-badge{border-radius:var(--radius-full);background:var(--color-accent);color:#fff;justify-content:center;align-items:center;width:16px;height:16px;margin-left:4px;font-size:9px;font-weight:700;display:inline-flex}.topbar-btn-filter.active .topbar-filter-badge{background:var(--color-accent-hover)}.topbar-btn-analysis.MuiButton-root{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.topbar-btn-analysis.MuiButton-root:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-accent)}.topbar-btn-analysis.active.MuiButton-root{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 2px 6px #3b82f659}.topbar-btn-ai.MuiButton-root{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.topbar-btn-ai.MuiButton-root:hover{background:var(--color-surface-hover);color:#8b5cf6;border-color:#8b5cf6}.topbar-btn-ai.active.MuiButton-root{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:#8b5cf6;box-shadow:0 2px 6px #8b5cf659}.topbar-icon-btn.MuiIconButton-root{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-secondary);transition:all var(--transition-fast)}.topbar-icon-btn.MuiIconButton-root svg{font-size:16px!important}.topbar-icon-btn.MuiIconButton-root:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-accent)}.topbar-avatar.MuiAvatar-root{cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#3b82f6,#6366f1);width:32px;height:32px;font-size:12px;font-weight:700}.topbar-divider.MuiDivider-root{border-color:var(--color-border);align-self:center;height:22px;margin:0 4px}.global-filter-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;padding:12px 24px 14px}.global-filter-bar-enter{opacity:0;max-height:0;overflow:hidden}.global-filter-bar-visible{opacity:1;max-height:240px;transition:max-height .25s,opacity .2s}.gfb-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gfb-row+.gfb-row{border-top:1px solid var(--color-border-light);margin-top:10px;padding-top:10px}.gfb-sev-group{flex-shrink:0;gap:5px;display:flex}.gfb-sev-chip.MuiChip-root{font-size:var(--text-xs);letter-spacing:.3px;text-transform:uppercase;background:var(--color-bg);color:var(--color-text-muted);transition:all var(--transition-fast);border:1.5px solid #0000;font-weight:700}.gfb-sev-chip-critical.MuiChip-root{border-color:var(--color-critical-border);color:var(--color-critical);background:var(--color-critical-bg)}.gfb-sev-chip-critical.active.MuiChip-root{background:var(--color-critical);color:#fff;border-color:var(--color-critical)}.gfb-sev-chip-high.MuiChip-root{border-color:var(--color-high-border);color:var(--color-high);background:var(--color-high-bg)}.gfb-sev-chip-high.active.MuiChip-root{background:var(--color-high);color:#1a1400;border-color:var(--color-high)}.gfb-sev-chip-medium.MuiChip-root{border-color:var(--color-medium-border);color:var(--color-medium);background:var(--color-medium-bg)}.gfb-sev-chip-medium.active.MuiChip-root{background:var(--color-medium);color:#fff;border-color:var(--color-medium)}.gfb-sev-chip-low.MuiChip-root{border-color:var(--color-low-border);color:var(--color-low);background:var(--color-low-bg)}.gfb-sev-chip-low.active.MuiChip-root{background:var(--color-low);color:#fff;border-color:var(--color-low)}.gfb-autocomplete{flex:0 190px;min-width:160px}.gfb-range-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:40px;transition:border-color var(--transition-fast);flex-shrink:0;align-items:center;gap:6px;padding:0 10px;display:flex}.gfb-range-group:focus-within{border-color:var(--color-accent)}.gfb-range-group .gfb-date-input .MuiOutlinedInput-notchedOutline{border:none}.gfb-range-group .gfb-date-input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,.gfb-range-group .gfb-date-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{box-shadow:none;border:none}.gfb-range-label{white-space:nowrap;font-size:var(--text-xs)!important;color:var(--color-text-muted)!important;font-weight:600!important}.gfb-range-sep{font-size:var(--text-xs)!important;color:var(--color-text-muted)!important}.gfb-date-input{width:120px}.gfb-date-input .MuiOutlinedInput-root{font-size:var(--text-xs);font-family:var(--font-sans);background:0 0;padding-right:4px}.gfb-date-input .MuiOutlinedInput-input{font-size:var(--text-xs)!important;padding:0!important}.gfb-date-input .MuiIconButton-root{color:var(--color-text-muted);padding:2px}.gfb-date-input .MuiIconButton-root svg{font-size:15px}.gfb-reset-btn.MuiButton-root{border-color:var(--color-border);color:var(--color-text-secondary);font-size:var(--text-xs);transition:all var(--transition-fast);gap:5px;font-weight:600}.gfb-reset-btn.MuiButton-root:hover{border-color:var(--color-critical);color:var(--color-critical);background:var(--color-critical-bg)}.gfb-reset-btn .MuiButton-startIcon{margin-right:4px}.gfb-reset-btn .MuiButton-startIcon svg{font-size:13px!important}.gfb-active-badge{border-radius:var(--radius-full);background:var(--color-accent);color:#fff;align-items:center;height:16px;margin-left:2px;padding:0 5px;font-size:9px;font-weight:700;display:inline-flex}.gfb-result-count{font-size:var(--text-sm);color:var(--color-text-muted)}.gfb-result-count strong{color:var(--color-text-primary);font-weight:700}.app-shell{background:var(--color-bg);height:100vh;display:flex;overflow:hidden}.app-body{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-main{flex:1;overflow:hidden auto}.page-content{box-sizing:border-box;width:100%;padding:28px 28px 48px}.breadcrumb{font-size:var(--text-sm);color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:20px;display:flex}.breadcrumb a{color:var(--color-text-muted);transition:color var(--transition-fast);text-decoration:none}.breadcrumb a:hover{color:var(--color-text-primary)}.breadcrumb-sep{color:var(--color-border)}.breadcrumb-current{color:var(--color-text-secondary);font-weight:500}:root{--sidebar-bg:#0f172a;--sidebar-text:#94a3b8;--sidebar-text-active:#f8fafc;--sidebar-hover:#94a3b814;--sidebar-active-bg:#3b82f626;--sidebar-active-border:#3b82f6;--sidebar-width:248px;--sidebar-section-label:#475569;--topbar-height:60px;--color-bg:#f1f5f9;--color-surface:#fff;--color-surface-hover:#f8fafc;--color-surface-raised:#fff;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-accent-light:#3b82f61a;--color-accent-border:#3b82f640;--color-critical:#ef4444;--color-critical-bg:#ef444414;--color-critical-border:#ef444438;--color-high:#eab308;--color-high-bg:#eab30817;--color-high-border:#eab30847;--color-medium:#3b82f6;--color-medium-bg:#3b82f614;--color-medium-border:#3b82f638;--color-low:#22c55e;--color-low-bg:#22c55e14;--color-low-border:#22c55e38;--chart-blue:#3b82f6;--chart-purple:#8b5cf6;--chart-teal:#06b6d4;--chart-green:#10b981;--chart-orange:#f97316;--chart-rose:#f43f5e;--chart-amber:#f59e0b;--chart-indigo:#6366f1;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 10px 10px -5px #00000008;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Fira Code", Consolas, monospace;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--text-4xl:36px;--transition-fast:.12s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}:root.dark{--color-bg:#0f172a;--color-surface:#1e293b;--color-surface-hover:#293548;--color-surface-raised:#1e293b;--color-border:#334155;--color-border-light:#1e293b;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-muted:#475569;--color-accent-light:#3b82f626;--color-accent-border:#3b82f64d;--color-critical-bg:#ef44441f;--color-critical-border:#ef44444d;--color-high-bg:#eab3081f;--color-high-border:#eab3084d;--color-medium-bg:#3b82f61f;--color-medium-border:#3b82f64d;--color-low-bg:#22c55e1f;--color-low-border:#22c55e4d}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#root{flex-direction:column;height:100%;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-text-primary);margin:0;font-weight:600;line-height:1.3}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-sans)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.MuiButtonBase-root:focus:not(:focus-visible){outline:none}
