@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Cascadia Code,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-accent{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-muted{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--color-bg: #070d1a;--color-surface: #0d1526;--color-surface-2: #111d30;--color-border: #1a2d45;--color-accent: #34d399;--color-accent-dim: #10b981;--color-accent-rgb: 52, 211, 153;--color-text-primary: #eef2ff;--color-text-secondary: #8892aa;--color-text-muted: #3d5070;--color-critical: #FF3B3B;--color-high: #FF8C00;--color-medium: #FFD600;--color-low: #34d399;--color-kev: #FF3B3B;--critical-bg: #FF3B3B12;--critical-border: #FF3B3B35;--high-bg: #FF8C0012;--high-border: #FF8C0035;--medium-bg: #FFD60012;--medium-border: #FFD60035;--low-bg: #34d39912;--low-border: #34d39935;--font-display: "Outfit", sans-serif;--font-body: "Outfit", sans-serif;--font-mono: "JetBrains Mono", monospace;--tracking-wide: .12em;--tracking-logo: .22em;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-fast: .16s;--duration-base: .24s}*,*:before,*:after{box-sizing:border-box}html{font-size:14px;background:var(--color-bg)}body{margin:0;background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5}button,input,select,textarea{font:inherit}button{border:0}svg{stroke-width:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.app-shell{min-height:100dvh;background:var(--color-bg);color:var(--color-text-primary)}.app-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 80%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border)}.app-header-inner{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--color-text-primary)}.brand-icon{width:34px;height:34px;color:var(--color-accent);flex:0 0 auto}.brand-copy{display:grid;gap:2px}.brand-wordmark{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:var(--tracking-logo);line-height:1}.brand-tagline{font-size:9px;font-weight:600;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);text-transform:uppercase}.brand-tagline span{color:var(--color-accent)}.header-right{display:flex;align-items:center;gap:16px}.main-nav{display:flex;align-items:center;gap:2px}.main-nav>a{display:flex;align-items:center;gap:7px;color:var(--color-text-secondary);padding:7px 10px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;border-bottom:1px solid transparent;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.main-nav>a:hover{color:var(--color-text-primary);background:var(--color-surface)}.main-nav>a.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.sessionbox{display:flex;align-items:center;gap:8px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:5px 6px 5px 10px;min-height:34px}.session-tenant{font-size:10px;color:var(--color-text-secondary);font-family:var(--font-mono, monospace);white-space:nowrap;overflow:hidden;max-width:82px;flex-shrink:0}.session-role,.session-plan{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:var(--tracking-wide);white-space:nowrap}.session-role{color:var(--color-accent)}.session-plan{color:var(--color-text-muted);border-left:1px solid var(--color-border);padding-left:8px}.logout-btn{display:flex;align-items:center;justify-content:center;background:none;border:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent);border-radius:6px;color:var(--color-text-muted);cursor:pointer;padding:4px 6px;flex-shrink:0;transition:color .15s,border-color .15s}.logout-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.main{max-width:1280px;margin:0 auto;min-height:calc(100dvh - 69px);padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.topbar-title{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;margin:0}.topbar-sub{font-size:11px;color:var(--color-text-secondary);margin:3px 0 0;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.status-pill{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-border);padding:6px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:pulse-dot 2.4s ease-in-out infinite}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;animation:fade-in var(--duration-base) var(--ease-spring)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.card:hover{border-color:rgba(var(--color-accent-rgb),.3)}.card-sm{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-title{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.01em;margin:0}.section-count{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);background:var(--color-surface-2);border:1px solid var(--color-border);padding:3px 8px;border-radius:6px}.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-secondary)}input,select{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:8px;padding:8px 10px;outline:none;transition:border-color var(--duration-fast) var(--ease-out);width:100%;font-size:13px}input::-moz-placeholder{color:var(--color-text-muted)}input::placeholder{color:var(--color-text-muted)}input:focus,select:focus{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px rgba(var(--color-accent-rgb),.2)}.field-group{position:relative;display:flex;align-items:center}.field-group svg{position:absolute;left:10px;color:var(--color-text-muted);pointer-events:none}.field-group input{padding-left:32px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--color-accent);color:var(--color-bg);font-weight:700;font-size:13px;border-radius:8px;padding:8px 14px;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring);white-space:nowrap}.btn-primary:hover{background:var(--color-accent-dim)}.btn-primary:active{transform:translateY(1px) scale(.98)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--color-text-primary);font-size:13px;font-weight:600;border:1px solid var(--color-border);border-radius:8px;padding:8px 12px;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.btn-ghost:hover{background:var(--color-surface-2);border-color:rgba(var(--color-accent-rgb),.4)}.btn-ghost:active{transform:translateY(1px) scale(.98)}.btn-danger{display:inline-flex;align-items:center;gap:8px;background:var(--critical-bg);color:var(--color-critical);border:1px solid var(--critical-border);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.btn-danger:active{transform:translateY(1px) scale(.98)}.table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:900px}thead th{background:var(--color-surface-2);color:var(--color-text-secondary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:10px 12px;border-bottom:1px solid var(--color-border);white-space:nowrap;text-align:left}tbody tr{border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--color-surface-2)}tbody td{padding:12px;font-size:13px;vertical-align:middle}.row-severity-indicator{width:3px;padding:0!important}.cell-mono{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--color-accent);letter-spacing:0}.cell-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;color:var(--color-text-primary)}.cell-muted{color:var(--color-text-secondary);font-size:12px}.cell-desc{color:var(--color-text-secondary);font-size:12px;line-height:1.5;max-width:500px}.badge,.severity-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0;white-space:nowrap;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-secondary)}.severity-badge.xs{padding:2px 6px;font-size:10px}.severity-badge.md{padding:4px 10px;font-size:13px}.severity-critical,.badge-critical{background:var(--critical-bg);color:var(--color-critical);border-color:var(--critical-border)}.severity-high,.badge-high{background:var(--high-bg);color:var(--color-high);border-color:var(--high-border)}.severity-medium,.badge-medium{background:var(--medium-bg);color:var(--color-medium);border-color:var(--medium-border)}.severity-low,.badge-low{background:var(--low-bg);color:var(--color-low);border-color:var(--low-border)}.badge-kev{background:var(--color-kev);color:var(--color-text-primary);border-color:var(--color-kev);font-weight:700}.badge-exploit,.badge-ai{background:var(--low-bg);color:var(--color-accent);border-color:var(--low-border)}.badge-tag,.badge-new,.badge-epss-high{background:var(--color-surface-2);color:var(--color-text-secondary);border-color:var(--color-border)}.risk-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:16px 0}.risk-cell{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}.risk-cell-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-secondary)}.risk-cell-value{font-family:var(--font-mono);font-size:22px;font-weight:800;color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1}.risk-cell-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.risk-cell.critical{border-color:var(--critical-border);background:var(--critical-bg)}.risk-cell.critical .risk-cell-value{color:var(--color-critical)}.risk-cell.high{border-color:var(--high-border);background:var(--high-bg)}.risk-cell.high .risk-cell-value{color:var(--color-high)}.risk-cell.medium{border-color:var(--medium-border);background:var(--medium-bg)}.risk-cell.medium .risk-cell-value{color:var(--color-medium)}.risk-cell.low,.risk-cell.accent{border-color:var(--low-border);background:var(--low-bg)}.risk-cell.low .risk-cell-value,.risk-cell.accent .risk-cell-value{color:var(--color-low)}.risk-cell.kev{border-color:var(--critical-border);background:var(--critical-bg)}.risk-cell.exploit{border-color:var(--low-border);background:var(--low-bg)}.risk-cell.exploit .risk-cell-value{color:var(--color-accent)}.solutions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.solution-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.solution-card.remediation{border-color:var(--low-border)}.solution-card.workaround{border-color:var(--medium-border)}.solution-card.affected{border-color:var(--low-border)}.solution-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.solution-label.green,.solution-label.accent{color:var(--color-accent)}.solution-label.amber{color:var(--color-medium)}.solution-text{font-size:13px;color:var(--color-text-secondary);line-height:1.65;flex:1;margin:0}.analysis-grid{display:grid;grid-template-columns:3fr 2fr;gap:12px}.analysis-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;padding:16px}.analysis-section-head{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-secondary);margin-bottom:10px}.analysis-text{font-size:13px;color:var(--color-text-secondary);line-height:1.65;margin:0}.priority-ring{display:flex;align-items:center;gap:16px;margin-bottom:12px}.priority-number{font-family:var(--font-mono);font-size:48px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.priority-number.critical{color:var(--color-critical)}.priority-number.high{color:var(--color-high)}.priority-number.medium{color:var(--color-medium)}.priority-number.low{color:var(--color-low)}.priority-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.refs-grid{display:grid;gap:8px}.ref-item,.exploit-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;text-decoration:none;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.ref-item:hover,.exploit-item:hover{background:var(--color-surface);border-color:rgba(var(--color-accent-rgb),.4)}.ref-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:999px;white-space:nowrap;flex-shrink:0;background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.ref-tag.vendor,.ref-tag.patch,.ref-tag.poc{background:var(--low-bg);color:var(--color-accent);border-color:var(--low-border)}.ref-tag.nvd,.ref-tag.other{background:var(--color-surface);color:var(--color-text-secondary)}.ref-url,.exploit-url{font-size:12px;color:var(--color-text-secondary);overflow-wrap:anywhere;flex:1}.exploit-id{font-family:var(--font-mono);font-size:11px;color:var(--color-accent)}.exploit-source{font-size:11px;color:var(--color-text-secondary)}.copy-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;padding:3px 5px;border-radius:5px;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring);text-decoration:none}.copy-btn:hover{color:var(--color-accent);background:var(--color-surface-2);border-color:var(--color-border)}.copy-btn:active{transform:scale(.92)}.copy-btn.copied{color:var(--color-accent)}.copy-btn.danger{color:var(--color-critical)}.cpe-list{display:grid;gap:4px;max-height:200px;overflow-y:auto}.cpe-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary)}.timeline{display:flex;gap:0;align-items:center;flex-wrap:wrap}.timeline-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:100px;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;top:12px;right:-50%;width:100%;height:1px;background:var(--color-border)}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);border:2px solid var(--color-border);z-index:1}.timeline-dot.active{background:var(--color-accent);border-color:var(--color-accent)}.timeline-dot.danger{background:var(--color-critical);border-color:var(--color-critical)}.timeline-dot.warn{background:var(--color-medium);border-color:var(--color-medium)}.timeline-label{font-size:10px;color:var(--color-text-muted);text-align:center}.timeline-date{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-align:center}.filter-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--color-accent);background:var(--low-bg);border:1px solid var(--low-border);border-radius:999px;padding:4px 8px}.filter-tag button{background:none;border:none;color:inherit;cursor:pointer;display:flex;align-items:center;padding:0}.quick-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:minmax(220px,1fr) 130px 100px 100px 110px 110px auto;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.chip:hover{border-color:rgba(var(--color-accent-rgb),.4);color:var(--color-text-primary)}.chip:active{transform:scale(.96)}.chip.active{background:var(--low-bg);border-color:var(--low-border);color:var(--color-accent)}.chip.chip-kev.active,.chip.chip-critical.active{background:var(--critical-bg);border-color:var(--critical-border);color:var(--color-critical)}.chip.chip-exploit.active{background:var(--low-bg);border-color:var(--low-border);color:var(--color-accent)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.kpi-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.kpi-card:hover{border-color:rgba(var(--color-accent-rgb),.25);transform:translateY(-1px)}.kpi-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-secondary)}.kpi-value{font-family:var(--font-mono);font-size:28px;font-weight:800;color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1}.kpi-sub{font-size:11px;color:var(--color-text-secondary)}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 0px,var(--color-border) 160px,var(--color-surface-2) 320px);background-size:400px 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:6px}.error-banner,.error{display:flex;align-items:flex-start;gap:10px;background:var(--critical-bg);border:1px solid var(--critical-border);color:var(--color-critical);padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:13px}.cvss-vector{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);word-break:break-all;line-height:1.8}.cvss-vector span{display:inline-block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1px 5px;margin:2px;color:var(--color-text-secondary)}.prompt-wrap{display:flex;gap:8px;align-items:stretch;margin-bottom:16px}.prompt-wrap input{flex:1;font-size:14px;padding:12px 14px}.mode-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0;padding:4px 10px;border-radius:999px;margin-left:8px}.mode-pill.semantic,.mode-pill.keyword{background:var(--low-bg);color:var(--color-accent);border:1px solid var(--low-border)}.similarity-bar{display:flex;align-items:center;gap:6px;font-size:11px;font-variant-numeric:tabular-nums}.similarity-bar-track{width:50px;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.similarity-bar-fill{height:100%;background:var(--color-accent);border-radius:2px}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-critical{color:var(--color-critical)}.text-high{color:var(--color-high)}.text-medium{color:var(--color-medium)}.text-low{color:var(--color-low)}.border-critical{border-color:var(--critical-border)!important}.border-low{border-color:var(--low-border)!important}.nav-group{position:relative}.nav-group-trigger{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary);padding:7px 10px;border-radius:8px;font-size:13px;font-weight:600;background:transparent;border:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-group-trigger:hover{color:var(--color-text-primary);background:var(--color-surface)}.nav-group-trigger.active{color:var(--color-accent)}.nav-group-trigger svg.chevron{width:12px;height:12px;color:var(--color-text-muted);transition:transform var(--duration-base) var(--ease-spring);flex-shrink:0}.nav-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:172px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:inset 0 1px #ffffff0f,0 12px 32px #00000080,0 2px 8px #0000004d;border-radius:12px;padding:5px;z-index:100;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.97);transform-origin:top left;transition:opacity var(--duration-base) var(--ease-spring),visibility var(--duration-base),transform var(--duration-base) var(--ease-spring)}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.nav-group:hover .nav-group-trigger svg.chevron,.nav-group:focus-within .nav-group-trigger svg.chevron{transform:rotate(180deg)}.nav-dropdown a{display:flex;align-items:center;gap:9px;color:var(--color-text-secondary);padding:8px 10px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:500;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);white-space:nowrap;border-bottom:0}.nav-dropdown a:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.nav-dropdown a.active{color:var(--color-accent);background:var(--low-bg);border-bottom-color:transparent}.nav-dropdown a svg{color:var(--color-text-muted);flex-shrink:0}.nav-dropdown a.active svg{color:var(--color-accent)}.nav-divider{width:1px;height:18px;background:var(--color-border);margin:0 2px;flex-shrink:0}.reports-page{display:grid;gap:20px}.section-subtitle{margin:4px 0 0;color:var(--color-text-secondary);font-size:12px}.report-loading{min-height:180px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--color-text-secondary)}.report-loading svg,.btn-primary svg:first-child,.copy-btn svg:first-child{flex:0 0 auto}.report-form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) 140px auto;gap:8px;align-items:center;margin-bottom:20px}.report-selector-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.endpoint-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.endpoint-select{min-height:62px;display:flex;align-items:center;gap:10px;text-align:left;background:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out)}.endpoint-select:hover{border-color:rgba(var(--color-accent-rgb),.4)}.endpoint-select.selected{background:var(--low-bg);border-color:var(--low-border)}.endpoint-select svg{color:var(--color-text-muted);flex:0 0 auto}.endpoint-select.selected svg{color:var(--color-accent)}.endpoint-select-name{color:var(--color-text-primary);font-family:var(--font-mono);font-size:13px;font-weight:700}.endpoint-select-meta{color:var(--color-text-secondary);font-size:11px;margin-top:2px}.empty-state{grid-column:1 / -1;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);background:var(--color-surface-2);padding:20px;text-align:center}.empty-table{text-align:center;padding:32px 20px;color:var(--color-text-muted)}.report-name{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--color-text-primary)}.report-risk{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);flex:0 0 auto}.report-risk.critical{background:var(--color-critical)}.report-risk.high{background:var(--color-high)}.report-risk.low{background:var(--color-low)}.report-actions{display:flex;align-items:center;gap:8px}.scanner-download-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;margin-bottom:20px}.scanner-download-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.scanner-download-title{display:flex;align-items:center;gap:10px;color:var(--color-text-primary);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.scanner-download-title svg{color:var(--color-accent)}.scanner-download-note{color:var(--color-text-muted);font-size:11px}.scanner-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.scanner-config-grid label{display:grid;gap:5px}.scanner-config-grid label span{color:var(--color-text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.scanner-platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.scanner-platform-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;padding:14px}.scanner-platform-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.scanner-platform-head>span{color:var(--color-text-muted);font-family:var(--font-mono);font-size:10px}.scanner-platform-name{display:flex;align-items:center;gap:8px;color:var(--color-text-primary);font-weight:700;font-size:13px}.scanner-platform-note{color:var(--color-text-muted);font-size:10px;margin-bottom:10px}.scanner-command{position:relative;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:9px 34px 9px 10px;min-height:54px;margin-bottom:10px}.scanner-command code{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:10px;line-height:1.6;word-break:break-all}.scanner-command .copy-btn{position:absolute;top:6px;right:6px}.scanner-download-link{width:100%;text-decoration:none}.scanner-dryrun{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--color-border);margin-top:14px;padding-top:12px;color:var(--color-text-muted);font-size:11px}.scanner-dryrun span{color:var(--color-text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.scanner-dryrun code{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:11px}@media (max-width: 1100px){.app-header-inner{align-items:flex-start;flex-direction:column}.header-right{width:100%;justify-content:space-between;align-items:flex-start}.solutions-grid{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.main{padding:16px}.main-nav{flex-wrap:wrap}.header-right{flex-direction:column}.sessionbox{width:100%;flex-wrap:wrap}.solutions-grid,.analysis-grid{grid-template-columns:1fr}.risk-matrix{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid .field-group,.filter-grid .btn-primary{grid-column:1 / -1}.report-form{grid-template-columns:1fr 1fr}.report-form .btn-primary{grid-column:1 / -1}.scanner-config-grid{grid-template-columns:1fr}.nav-dropdown{position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none;border:none;background:transparent;padding:0 0 0 16px}}@media (max-width: 560px){.filter-grid,.risk-matrix,.kpi-grid,.report-form,.endpoint-select-grid{grid-template-columns:1fr}.scanner-download-head{align-items:flex-start;flex-direction:column}}
