@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700;800&family=Rajdhani:wght@400;500;600;700&display=swap);:root{--bg-primary:#0d1117;--bg-secondary:#111820;--bg-card:#141c26;--bg-card-hover:#192230;--bg-sidebar:#0a0f16;--bg-header:#0c1219;--teal-primary:#00d4b8;--teal-secondary:#00b8a0;--teal-glow:#00d4b826;--teal-border:#00d4b84d;--cyan-accent:#00e5ff;--cyan-glow:#00e5ff1f;--green-neon:#39ff14;--green-soft:#00c853;--green-glow:#39ff141a;--purple-accent:#7c4dff;--purple-soft:#9c27b0;--purple-glow:#7c4dff1f;--orange-accent:#ff6d00;--orange-glow:#ff6d001f;--red-accent:#ff1744;--red-glow:#ff17441f;--text-primary:#e8f4f8;--text-secondary:#8ba3b8;--text-muted:#4a6278;--text-teal:#00d4b8;--border-subtle:#ffffff0f;--border-card:#00d4b82e;--border-active:#00d4b880;--shadow-card:0 4px 24px #0006,0 0 0 1px #00d4b814;--shadow-glow-teal:0 0 20px #00d4b833;--shadow-glow-cyan:0 0 20px #00e5ff26;--transition:all 0.25s cubic-bezier(0.4,0,0.2,1);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--font-primary:"Roboto","Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;--font-display:"Roboto","Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;--font-mono:"Fira Code","Courier New",monospace}*{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d1117;background:var(--bg-primary);color:#e8f4f8;color:var(--text-primary);font-family:Roboto,Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-family:var(--font-primary);margin:0;padding:0}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#111820;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#00d4b84d;background:var(--teal-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00d4b8;background:var(--teal-primary)}code,pre{font-family:Fira Code,Courier New,monospace;font-family:var(--font-mono)}a{color:#00d4b8;color:var(--teal-primary);text-decoration:none}input,select,textarea{background:#111820;background:var(--bg-secondary);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);color:#e8f4f8;color:var(--text-primary);font-family:Roboto,Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-family:var(--font-primary)}input:focus,select:focus,textarea:focus{border-color:#00d4b8;border-color:var(--teal-primary);box-shadow:0 0 0 2px #00d4b826;box-shadow:0 0 0 2px var(--teal-glow);outline:none}button{font-family:Roboto,Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-family:var(--font-primary)}.forensic-cicd-agents{animation:fadeInUp .3s ease;margin:0 auto;max-width:1400px}.agents-header{margin-bottom:20px}.agents-header h2{color:var(--teal-primary);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:1.5px;margin:0 0 4px;text-transform:uppercase}.agents-header .subtitle{color:var(--text-muted);font-size:12px;margin:0}.agents-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.agents-section{display:flex;flex-direction:column}.agents-section.full-width{grid-column:1/-1}.agent-config-card,.agent-status-card,.evidence-collector-card,.log-anomaly-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;padding:20px;position:relative}.agent-config-card:before,.agent-status-card:before,.evidence-collector-card:before,.log-anomaly-card:before{background:linear-gradient(90deg,var(--cyan-accent),var(--teal-primary));content:"";height:2px;left:0;position:absolute;right:0;top:0}.agent-config-card h3,.agent-status-card h3,.evidence-collector-card h3,.log-anomaly-card h3{border-bottom:1px solid var(--border-subtle);color:var(--teal-primary);font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:1px;margin:0 0 16px;padding-bottom:10px;text-transform:uppercase}.auto-badge{animation:pulseBadge 2s ease-in-out infinite;background:linear-gradient(135deg,var(--cyan-accent),var(--teal-primary));border-radius:10px;box-shadow:0 0 8px var(--teal-glow);color:#0a0f16;display:inline-block;font-size:9px;font-weight:800;letter-spacing:1px;margin-left:8px;padding:2px 8px;text-transform:uppercase;vertical-align:middle}@keyframes pulseBadge{0%,to{box-shadow:0 0 8px var(--teal-glow)}50%{box-shadow:0 0 16px var(--teal-glow),0 0 24px #00ffaa26}}.evidence-title{color:var(--teal-primary);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.severity-badge{border-radius:10px;font-family:var(--font-mono);font-size:11px;padding:2px 8px}.severity-badge.severity-high{background:#ff505026;border:1px solid #ff50504d;color:#ff6b6b}.status-overview{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.metric-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:130px;padding:10px 14px;transition:var(--transition)}.metric-item:hover{border-color:var(--teal-border)}.metric-label{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.metric-value{color:var(--cyan-accent);font-family:var(--font-display);font-size:22px;font-weight:700}.agents-list{display:flex;flex-direction:column;gap:10px}.agent-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;transition:var(--transition)}.agent-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.agent-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.agent-id{color:var(--teal-primary);font-size:13px;font-weight:700;letter-spacing:.3px}.status-badge{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.agent-details{grid-gap:6px;display:grid;font-size:12px;gap:6px;grid-template-columns:repeat(2,1fr)}.detail-row{justify-content:space-between;padding:3px 0}.detail-row span:last-child{font-weight:500}.collector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.collect-button{background:var(--teal-primary);border:none;border-radius:var(--radius-md);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:9px 18px;text-transform:uppercase;transition:var(--transition)}.collect-button:hover:not(:disabled){background:var(--teal-secondary);box-shadow:0 0 16px var(--teal-glow);transform:translateY(-1px)}.collect-button:disabled{background:var(--text-muted);color:var(--bg-secondary);cursor:not-allowed;transform:none}.evidence-types{border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:14px}.evidence-type-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:12px;gap:6px;padding:6px 12px;transition:var(--transition)}.evidence-type-item:hover{background:var(--teal-glow);border-color:var(--teal-border);color:var(--teal-primary)}.evidence-type-item.active{background:var(--teal-primary);border-color:var(--teal-primary);color:#0a0f16}.type-label{font-weight:500}.type-count{background:#0003;border-radius:10px;font-size:10px;font-weight:700;padding:1px 6px}.evidence-type-item.active .type-count{background:#0000004d}.evidence-list{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto}.no-evidence{color:var(--text-muted);font-size:13px;font-style:italic;padding:40px;text-align:center}.evidence-item{padding:10px}.evidence-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.evidence-type{font-weight:700;letter-spacing:.8px;text-transform:uppercase}.evidence-timestamp{color:var(--text-muted);font-size:11px}.evidence-content p{color:var(--text-secondary);font-size:12px;margin:0 0 6px}.evidence-metadata{grid-gap:5px;border-top:1px solid var(--border-subtle);display:grid;gap:5px;grid-template-columns:repeat(2,1fr);margin-top:6px;padding-top:6px}.metadata-item{font-size:11px;gap:5px}.config-section{margin-bottom:22px}.config-section h4{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.config-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(2,1fr)}.config-item{align-items:center}.config-item label{align-items:center;color:var(--text-secondary);cursor:pointer;font-size:13px;gap:8px;width:100%}.config-item input[type=checkbox]{accent-color:var(--teal-primary);cursor:pointer;height:16px;width:16px}.config-item input[type=number]{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-primary);font-size:13px;margin-left:10px;padding:5px 10px;width:80px}.config-item input[type=number]:focus{border-color:var(--teal-primary);outline:none}.config-actions{border-top:1px solid var(--border-subtle);display:flex;gap:10px;padding-top:18px}.save-config-button{background:var(--teal-primary);border:none;border-radius:var(--radius-md);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:9px 18px;text-transform:uppercase;transition:var(--transition)}.save-config-button:hover{background:var(--teal-secondary);box-shadow:0 0 16px var(--teal-glow)}.reset-config-button{background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:500;padding:9px 18px;transition:var(--transition)}.reset-config-button:hover{background:var(--bg-card-hover);border-color:var(--text-muted);color:var(--text-primary)}@media (max-width:768px){.agent-details,.agents-grid,.config-grid,.evidence-metadata{grid-template-columns:1fr}}.anomaly-detection{animation:fadeInUp .3s ease;margin:0 auto;max-width:1400px}.detection-header{margin-bottom:20px}.detection-header h2{color:var(--teal-primary);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:1.5px;margin:0 0 4px;text-transform:uppercase}.detection-header .subtitle{color:var(--text-muted);font-size:12px;margin:0}.detection-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:0;margin-bottom:20px}.tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:-1px;padding:10px 20px;text-transform:uppercase;transition:var(--transition)}.tab-button:hover{background:var(--teal-glow);color:var(--teal-primary)}.tab-button.active{border-bottom-color:var(--teal-primary);color:var(--teal-primary);font-weight:600}.detection-content{margin-top:20px}.anomaly-detector-card,.detection-rules-card,.timeline-reconstruction-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;padding:20px;position:relative}.anomaly-detector-card:before,.detection-rules-card:before,.timeline-reconstruction-card:before{background:linear-gradient(90deg,var(--orange-accent),var(--teal-primary));content:"";height:2px;left:0;position:absolute;right:0;top:0}.anomaly-detector-card h3,.detection-rules-card h3,.timeline-reconstruction-card h3{border-bottom:1px solid var(--border-subtle);color:var(--teal-primary);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:1px;margin:0 0 16px;padding-bottom:10px;text-transform:uppercase}.detector-header,.rules-header,.timeline-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.detect-button,.reconstruct-button,.save-rules-button{background:var(--teal-primary);border:none;border-radius:var(--radius-md);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:9px 18px;text-transform:uppercase;transition:var(--transition)}.detect-button:hover:not(:disabled),.reconstruct-button:hover,.save-rules-button:hover{background:var(--teal-secondary);box-shadow:0 0 16px var(--teal-glow);transform:translateY(-1px)}.detect-button:disabled{background:var(--text-muted);color:var(--bg-secondary);cursor:not-allowed;transform:none}.detection-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.stat-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:130px;padding:12px 16px;transition:var(--transition)}.stat-item:hover{border-color:var(--teal-border)}.stat-label{margin-bottom:6px}.filter-section{border-bottom:1px solid var(--border-subtle);margin-bottom:20px;padding-bottom:16px}.filter-group{margin-bottom:12px}.filter-group label{color:var(--text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.category-filters,.severity-filters{display:flex;flex-wrap:wrap;gap:6px}.filter-button{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:11px;font-weight:500;letter-spacing:.3px;padding:5px 12px;transition:var(--transition)}.filter-button:hover{background:var(--teal-glow);border-color:var(--teal-border);color:var(--teal-primary)}.filter-button.active{background:var(--teal-primary);border-color:var(--teal-primary);color:#0a0f16;font-weight:700}.filter-button.severity-critical.active{background:var(--red-accent);border-color:var(--red-accent);color:#fff}.filter-button.severity-high.active{background:var(--orange-accent);border-color:var(--orange-accent);color:#fff}.filter-button.severity-medium.active{background:#ffc107;border-color:#ffc107;color:#0a0f16}.filter-button.severity-low.active{background:var(--green-soft);border-color:var(--green-soft);color:#fff}.anomalies-list{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}.no-anomalies{color:var(--text-muted);font-size:13px;font-style:italic;padding:48px;text-align:center}.anomaly-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;transition:var(--transition)}.anomaly-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.anomaly-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.anomaly-title-section{align-items:center;display:flex;gap:10px}.severity-badge{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.anomaly-title{color:var(--text-primary);font-size:13px;font-weight:600}.anomaly-timestamp{color:var(--text-muted);font-size:11px}.anomaly-content{margin-top:8px}.anomaly-description{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0 0 10px}.anomaly-details{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr);margin-bottom:10px}.detail-item{display:flex;font-size:12px;gap:5px}.anomaly-evidence{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-top:10px;padding:10px}.anomaly-evidence strong{color:var(--text-muted);display:block;font-size:11px;letter-spacing:.8px;margin-bottom:5px;text-transform:uppercase}.anomaly-evidence pre{color:var(--teal-primary);font-family:var(--font-mono);font-size:11px;margin:0;overflow-x:auto}.incidents-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.incident-button{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:12px;padding:6px 14px;transition:var(--transition)}.incident-button:hover{background:var(--teal-glow);border-color:var(--teal-border);color:var(--teal-primary)}.incident-button.active{background:var(--teal-primary);border-color:var(--teal-primary);color:#0a0f16;font-weight:700}.timeline-info{grid-gap:10px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:20px;padding:14px}.info-item{display:flex;font-size:13px;justify-content:space-between}.info-item span:first-child{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span:last-child{color:var(--text-secondary)}.timeline-events{padding-left:30px;position:relative}.timeline-event{display:flex;gap:15px;margin-bottom:24px;position:relative}.event-marker{left:-30px;position:absolute;top:0}.marker-dot{border:2px solid var(--bg-card);border-radius:50%;height:14px;width:14px}.marker-commit{background:var(--cyan-accent);box-shadow:0 0 8px var(--cyan-accent)}.marker-pipeline{background:var(--red-accent);box-shadow:0 0 8px var(--red-accent)}.marker-dependency{background:var(--green-soft);box-shadow:0 0 8px var(--green-soft)}.timeline-line{background:var(--border-subtle);height:calc(100% + 10px);left:5px;position:absolute;top:14px;width:2px}.event-content{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex:1 1;padding:12px;transition:var(--transition)}.event-content:hover{border-color:var(--teal-border)}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.event-type{background:var(--bg-card);border:1px solid var(--teal-border);border-radius:3px;color:var(--teal-primary);font-size:10px;font-weight:700;letter-spacing:.8px;padding:2px 8px;text-transform:uppercase}.event-time{color:var(--text-muted);font-size:11px}.event-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.event-link{background:var(--teal-glow);border:1px solid var(--teal-border);border-radius:3px;color:var(--teal-primary);font-size:11px;padding:3px 8px}.no-timeline{color:var(--text-muted);font-size:13px;font-style:italic;padding:48px;text-align:center}.ml-section,.rules-section{margin-bottom:28px}.ml-section h4,.rules-section h4{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:1px;margin:0 0 14px;padding-bottom:8px;text-transform:uppercase}.models-list,.rules-list{display:flex;flex-direction:column;gap:12px}.model-item,.rule-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;transition:var(--transition)}.model-item:hover,.rule-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.model-header,.rule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.model-title-section,.rule-title-section{align-items:center;display:flex;gap:10px}.model-toggle,.rule-toggle{align-items:center;cursor:pointer;display:flex;gap:8px}.model-toggle input,.rule-toggle input{accent-color:var(--teal-primary);cursor:pointer;height:16px;width:16px}.model-name,.rule-name{color:var(--text-primary);font-size:13px;font-weight:600}.rule-category{background:var(--teal-glow);border:1px solid var(--teal-border);border-radius:20px;color:var(--teal-primary);font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 10px}.rule-description{color:var(--text-muted);font-size:12px;line-height:1.5;margin:0 0 10px}.rule-parameters{display:flex;flex-wrap:wrap;gap:14px}.parameter-item label{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:8px}.parameter-item input{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-primary);font-size:12px;padding:4px 8px}.parameter-item input:focus{border-color:var(--teal-primary);outline:none}.model-details{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}.model-detail-item{display:flex;font-size:12px;gap:5px}.model-detail-item span:first-child{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.model-detail-item span:last-child{color:var(--text-secondary);font-weight:500}.model-status{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.status-trained{background:#00c8531f;border:1px solid #00c8534d;color:var(--green-soft)}.status-training{background:#ff6d001f;border:1px solid #ff6d004d;color:var(--orange-accent)}.training-progress{border-top:1px solid var(--border-subtle);margin-top:10px;padding-top:10px}.progress-bar{background:var(--bg-primary);border-radius:3px;height:5px;margin-bottom:5px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--teal-primary),var(--cyan-accent));border-radius:3px;height:100%;transition:width .4s ease}.training-progress span{color:var(--text-muted);font-size:11px}@media (max-width:768px){.detection-tabs{flex-wrap:wrap}.anomaly-details,.timeline-info{grid-template-columns:1fr}.category-filters,.severity-filters{flex-direction:column}}.forensic-reporting-portal{animation:fadeInUp .3s ease;margin:0 auto;max-width:1400px}.portal-header{margin-bottom:20px}.portal-header h2{color:var(--teal-primary);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:1.5px;margin:0 0 4px;text-transform:uppercase}.portal-header .subtitle{color:var(--text-muted);font-size:12px;margin:0}.portal-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:0;margin-bottom:20px}.portal-tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:-1px;padding:10px 20px;text-transform:uppercase;transition:var(--transition)}.portal-tab-button:hover{background:var(--teal-glow);color:var(--teal-primary)}.portal-tab-button.active{border-bottom-color:var(--teal-primary);color:var(--teal-primary);font-weight:600}.portal-content{margin-top:20px}.chain-of-custody-card,.evidence-visualization-card,.integrity-proofs-card,.report-generator-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;padding:20px;position:relative}.chain-of-custody-card:before,.evidence-visualization-card:before,.integrity-proofs-card:before,.report-generator-card:before{background:linear-gradient(90deg,var(--purple-accent),var(--teal-primary));content:"";height:2px;left:0;position:absolute;right:0;top:0}.chain-of-custody-card h3,.evidence-visualization-card h3,.integrity-proofs-card h3,.report-generator-card h3{border-bottom:1px solid var(--border-subtle);color:var(--teal-primary);font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:1px;margin:0 0 16px;padding-bottom:10px;text-transform:uppercase}.custody-header,.generator-header,.proofs-header,.viz-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.custody-subtitle,.generator-subtitle,.proofs-subtitle,.viz-subtitle{color:var(--text-muted);font-size:12px;margin:0}.viz-filters{display:flex;gap:8px}.filter-select{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:var(--font-primary);font-size:12px;padding:6px 12px;transition:var(--transition)}.filter-select:focus{border-color:var(--teal-primary);outline:none}.custody-stats,.proofs-stats,.timeline-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.custody-stat,.proof-stat,.stat-box{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:120px;padding:10px 14px;transition:var(--transition)}.custody-stat:hover,.proof-stat:hover,.stat-box:hover{border-color:var(--teal-border)}.timeline-view{margin-top:20px}.timeline-event-item{display:flex;gap:14px;margin-bottom:18px;position:relative}.event-marker-container{align-items:center;display:flex;flex-direction:column;position:relative}.event-marker-dot{border:2px solid var(--bg-card);border-radius:50%;height:14px;width:14px;z-index:1}.event-connector-line{background:var(--border-subtle);height:calc(100% + 4px);position:absolute;top:14px;width:2px}.event-details{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex:1 1;padding:12px;transition:var(--transition)}.event-details:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.event-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.event-type-badge{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.event-timestamp{color:var(--text-muted);font-size:11px}.event-title{color:var(--text-secondary);font-size:13px;font-weight:600;margin:0 0 6px}.event-description{color:var(--text-muted);font-size:12px;line-height:1.5;margin:0 0 8px}.event-metadata{grid-gap:5px;border-top:1px solid var(--border-subtle);display:grid;gap:5px;grid-template-columns:repeat(2,1fr);margin-top:8px;padding-top:8px}.metadata-entry{display:flex;font-size:11px;gap:5px}.metadata-key{color:var(--text-muted);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.loading,.no-data,.no-logs,.no-proofs{color:var(--text-muted);font-size:13px;font-style:italic;padding:40px;text-align:center}.proof-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:12px;padding:14px;transition:var(--transition)}.proof-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.proof-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.proof-title-section{align-items:center;display:flex;gap:10px}.proof-id{color:var(--teal-primary);font-size:13px;font-weight:700}.proof-status{border-radius:20px;font-size:10px;letter-spacing:.8px;padding:3px 10px}.proof-status,.verify-button{font-weight:700;text-transform:uppercase}.verify-button{background:var(--teal-primary);border:none;border-radius:var(--radius-sm);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:11px;letter-spacing:.5px;padding:6px 12px;transition:var(--transition)}.verify-button:hover{background:var(--teal-secondary);box-shadow:0 0 12px var(--teal-glow)}.proof-details{display:flex;flex-direction:column;gap:6px}.proof-detail-row{display:flex;font-size:12px;gap:10px}.detail-value{word-break:break-all}.hash-value,.signature-value{color:var(--teal-primary);font-family:var(--font-mono);font-size:10px}.verification-result strong{margin-bottom:5px}.verification-result p{font-size:12px;margin:4px 0;opacity:.9}.custody-filters{border-bottom:1px solid var(--border-subtle);margin-bottom:18px;padding-bottom:14px}.custody-filters label{color:var(--text-muted);display:block;font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:10px;text-transform:uppercase}.status-filters{display:flex;flex-wrap:wrap;gap:6px}.status-filter-button{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:11px;padding:5px 12px;transition:var(--transition)}.status-filter-button:hover{background:var(--teal-glow);border-color:var(--teal-border);color:var(--teal-primary)}.status-filter-button.active{background:var(--teal-primary);border-color:var(--teal-primary);color:#0a0f16;font-weight:700}.custody-logs{display:flex;flex-direction:column;gap:10px}.custody-log-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;padding:14px;transition:var(--transition)}.custody-log-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.custody-log-item.selected{background:var(--teal-glow);border-color:var(--teal-primary);box-shadow:var(--shadow-glow-teal)}.log-header{justify-content:space-between;margin-bottom:10px}.log-header,.log-id-section{align-items:center;display:flex}.log-id-section{gap:10px}.log-id{color:var(--teal-primary);font-size:13px;font-weight:700}.log-status-badge{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.log-timestamp{color:var(--text-muted);font-size:11px}.log-details{grid-gap:6px;display:grid;font-size:12px;gap:6px;grid-template-columns:repeat(2,1fr)}.log-detail-row{display:flex;gap:5px}.log-detail-row span:first-child{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.log-detail-row span:last-child{color:var(--text-secondary)}.log-expanded-details{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:12px}.expanded-section{margin-bottom:14px}.expanded-section h4{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.8px;margin:0 0 8px;text-transform:uppercase}.custody-history{display:flex;flex-direction:column;gap:8px}.history-entry{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:12px;padding:10px}.history-timestamp{color:var(--teal-primary);font-weight:700;margin-bottom:4px}.history-action{color:var(--text-secondary);margin-bottom:2px}.history-custodian,.history-notes{color:var(--text-muted);font-size:11px}.checksum-info{display:flex;font-size:12px;gap:10px}.checksum-value{color:var(--teal-primary);font-family:var(--font-mono);font-size:11px}.report-config-section{margin-bottom:28px}.report-config-section h4{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:1px;margin:0 0 14px;padding-bottom:8px;text-transform:uppercase}.config-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.config-item,.config-item label{display:flex;flex-direction:column}.config-item label{color:var(--text-muted);font-size:11px;font-weight:700;gap:6px;letter-spacing:.8px;text-transform:uppercase}.config-select{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:var(--font-primary);font-size:13px;margin-top:2px;padding:8px 12px;transition:var(--transition)}.config-select:focus{border-color:var(--teal-primary);outline:none}.config-checkboxes{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:18px}.checkbox-label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px}.checkbox-label input{accent-color:var(--teal-primary);cursor:pointer;height:16px;width:16px}.config-actions{margin-top:18px}.generate-button{background:var(--teal-primary);border:none;border-radius:var(--radius-md);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:13px;font-weight:700;letter-spacing:.5px;padding:11px 22px;text-transform:uppercase;transition:var(--transition)}.generate-button:hover:not(:disabled){background:var(--teal-secondary);box-shadow:0 0 16px var(--teal-glow);transform:translateY(-1px)}.generate-button:disabled{background:var(--text-muted);color:var(--bg-secondary);cursor:not-allowed;transform:none}.generated-report-section{border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:28px}.generated-report-section h4{color:var(--text-secondary);font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:1px;margin:0 0 14px;text-transform:uppercase}.report-info{grid-gap:8px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:18px;padding:14px}.report-info-item{display:flex;font-size:12px;justify-content:space-between}.report-info-item span:first-child{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.report-info-item span:last-child{color:var(--text-secondary)}.report-preview{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:18px;padding:14px}.report-preview h5{color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.8px;margin:0 0 14px;text-transform:uppercase}.preview-content{display:flex;flex-direction:column;gap:12px}.preview-section{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px}.preview-section strong{color:var(--teal-primary);display:block;font-size:11px;letter-spacing:.8px;margin-bottom:5px;text-transform:uppercase}.preview-section p{color:var(--text-secondary);font-size:12px;line-height:1.6;margin:0}.export-actions{margin-top:18px}.export-actions h5{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.8px;margin:0 0 12px;text-transform:uppercase}.export-buttons{display:flex;flex-wrap:wrap;gap:10px}.export-button{background:#0000;border:1px solid var(--teal-border);border-radius:var(--radius-md);color:var(--teal-primary);cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:9px 18px;text-transform:uppercase;transition:var(--transition)}.export-button:hover{background:var(--teal-glow);border-color:var(--teal-primary);box-shadow:0 0 12px var(--teal-glow)}@media (max-width:768px){.config-checkboxes,.config-grid,.event-metadata,.log-details,.report-info{grid-template-columns:1fr}.portal-tabs{flex-wrap:wrap}}.integrity-verification{animation:fadeInUp .3s ease;margin:0 auto;max-width:1400px}.verification-header{margin-bottom:20px}.verification-header h2{color:var(--teal-primary);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:1.5px;margin:0 0 4px;text-transform:uppercase}.verification-header .subtitle{color:var(--text-muted);font-size:12px;margin:0}.verification-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:0;margin-bottom:20px}.verification-tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:-1px;padding:10px 20px;text-transform:uppercase;transition:var(--transition)}.verification-tab-button:hover{background:var(--teal-glow);color:var(--teal-primary)}.verification-tab-button.active{border-bottom-color:var(--teal-primary);color:var(--teal-primary);font-weight:600}.verification-content{margin-top:20px}.digital-signatures-card,.hash-verification-card,.malware-classification-card,.merkle-tree-card,.sbom-generator-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;padding:20px;position:relative}.digital-signatures-card:before,.hash-verification-card:before,.malware-classification-card:before,.merkle-tree-card:before,.sbom-generator-card:before{background:linear-gradient(90deg,var(--green-soft),var(--teal-primary));content:"";height:2px;left:0;position:absolute;right:0;top:0}.digital-signatures-card h3,.hash-verification-card h3,.malware-classification-card h3,.merkle-tree-card h3,.sbom-generator-card h3{border-bottom:1px solid var(--border-subtle);color:var(--teal-primary);font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:1px;margin:0 0 16px;padding-bottom:10px;text-transform:uppercase}.hash-header,.merkle-header,.sbom-header,.signatures-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.hash-subtitle,.merkle-subtitle,.sbom-subtitle,.signatures-subtitle{color:var(--text-muted);font-size:12px;margin:0}.format-selector label{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:8px}.format-select{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:var(--font-primary);font-size:12px;padding:6px 12px;transition:var(--transition)}.format-select:focus{border-color:var(--teal-primary);outline:none}.hash-stats,.merkle-stats,.sbom-stats,.signatures-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.hash-stat,.merkle-stat,.sbom-stat,.signature-stat{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:120px;padding:10px 14px;transition:var(--transition)}.hash-stat:hover,.merkle-stat:hover,.sbom-stat:hover,.signature-stat:hover{border-color:var(--teal-border)}.stat-label{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.stat-value{color:var(--teal-primary);font-family:var(--font-display);font-size:22px;font-weight:700}.stat-value.verified{color:var(--green-soft)}.stat-value.failed{color:var(--red-accent)}.stat-value.expired,.stat-value.pending{color:var(--orange-accent)}.sbom-builds{margin-top:20px}.sbom-builds h4{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.builds-list{display:flex;flex-direction:column;gap:10px}.build-sbom-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;transition:var(--transition)}.build-sbom-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.build-header{justify-content:space-between;margin-bottom:10px}.build-header,.build-info{align-items:center;display:flex}.build-info{gap:10px}.build-id{font-size:13px}.build-format,.build-id{color:var(--teal-primary);font-weight:700}.build-format{background:var(--teal-glow);border:1px solid var(--teal-border);border-radius:20px;font-size:10px;padding:2px 8px}.generate-sbom-button{background:var(--teal-primary);border:none;border-radius:var(--radius-sm);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:var(--transition)}.generate-sbom-button:hover:not(:disabled){background:var(--teal-secondary);box-shadow:0 0 12px var(--teal-glow)}.generate-sbom-button:disabled{background:var(--text-muted);color:var(--bg-secondary);cursor:not-allowed}.build-details{grid-gap:8px;display:grid;font-size:12px;gap:8px;grid-template-columns:repeat(3,1fr)}.detail-row{display:flex;gap:5px}.detail-row span:first-child{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-row span:last-child{color:var(--text-secondary)}.hash-value{color:var(--teal-primary);font-family:var(--font-mono);font-size:10px;word-break:break-all}.sbom-details{border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:20px}.sbom-details h4{color:var(--text-secondary);font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:1px;margin:0 0 16px;text-transform:uppercase}.sbom-content{display:flex;flex-direction:column;gap:16px}.sbom-section{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px}.sbom-section h5{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.8px;margin:0 0 12px;text-transform:uppercase}.metadata-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.metadata-item{display:flex;font-size:12px;gap:8px}.metadata-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;min-width:100px;text-transform:uppercase}.metadata-value{color:var(--text-secondary)}.dependencies-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.dependency-item{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px;transition:var(--transition)}.dependency-item:hover{border-color:var(--teal-border)}.dependency-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.dependency-name{color:var(--text-secondary);font-size:13px;font-weight:600}.dependency-version{background:var(--teal-glow);border:1px solid var(--teal-border);border-radius:3px;color:var(--teal-primary);font-size:11px;padding:2px 8px}.dependency-details{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:11px;gap:8px}.dependency-license,.dependency-purl,.dependency-type{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:3px;padding:2px 6px}.integrity-info{display:flex;flex-direction:column;gap:8px}.integrity-item{display:flex;font-size:12px;gap:10px}.integrity-item span:first-child{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;min-width:120px;text-transform:uppercase}.status-verified{font-weight:700}.hash-filters,.type-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.hash-filters label{color:var(--text-muted);display:block;font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.type-filter-button{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:11px;padding:5px 12px;transition:var(--transition)}.type-filter-button:hover{background:var(--teal-glow);border-color:var(--teal-border);color:var(--teal-primary)}.type-filter-button.active{background:var(--teal-primary);border-color:var(--teal-primary);color:#0a0f16;font-weight:700}.artifacts-list,.signatures-list{display:flex;flex-direction:column;gap:12px}.artifact-item,.signature-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;transition:var(--transition)}.artifact-item:hover,.signature-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.artifact-header,.signature-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.artifact-title-section,.signature-title-section{align-items:center;display:flex;gap:10px}.artifact-name,.signature-artifact{color:var(--text-primary);font-size:13px;font-weight:700}.artifact-status,.signature-status{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.verify-hash-button,.verify-signature-button{background:var(--teal-primary);border:none;border-radius:var(--radius-sm);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:var(--transition)}.verify-hash-button:hover,.verify-signature-button:hover{background:var(--teal-secondary);box-shadow:0 0 12px var(--teal-glow)}.artifact-details,.signature-details{display:flex;flex-direction:column;gap:6px}.artifact-detail-row,.signature-detail-row{display:flex;font-size:12px;gap:10px}.detail-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;min-width:120px;text-transform:uppercase}.detail-value{color:var(--text-secondary)}.key-value,.signature-value{color:var(--teal-primary);font-family:var(--font-mono);font-size:10px;word-break:break-all}.verification-result{border-radius:var(--radius-md);margin-top:12px;padding:12px}.verification-result.valid{background:#00c85314;border:1px solid #00c85340;color:var(--green-soft)}.verification-result.invalid{background:#ff174414;border:1px solid #ff174440;color:var(--red-accent)}.verification-result strong{display:block;font-size:12px;margin-bottom:6px}.verification-details{display:flex;flex-direction:column;gap:4px}.verification-row{display:flex;font-size:12px;gap:10px}.verification-row span:first-child{color:inherit;font-size:10px;font-weight:600;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.loading,.no-artifacts,.no-signatures,.no-trees{color:var(--text-muted);font-size:13px;font-style:italic;padding:40px;text-align:center}.merkle-trees-list{display:flex;flex-direction:column;gap:12px}.merkle-tree-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;padding:14px;transition:var(--transition)}.merkle-tree-item:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.merkle-tree-item.selected{background:var(--teal-glow);border-color:var(--teal-primary);box-shadow:var(--shadow-glow-teal)}.tree-header{align-items:center;display:flex;justify-content:space-between}.tree-title-section{align-items:center;display:flex;gap:10px}.tree-id{color:var(--teal-primary);font-size:13px;font-weight:700}.tree-status{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 10px;text-transform:uppercase}.status-verified{background:#00c8531f;border:1px solid #00c8534d;color:var(--green-soft)}.status-pending{background:#ff6d001f;border:1px solid #ff6d004d;color:var(--orange-accent)}.tree-info{color:var(--text-muted);display:flex;font-size:11px;gap:12px}.tree-details{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:12px}.tree-metadata{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.tree-metadata,.tree-visualization{margin-bottom:16px}.tree-visualization h4{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.8px;margin:0 0 12px;text-transform:uppercase}.tree-view{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-height:500px;overflow-y:auto;padding:14px}.merkle-node{margin-bottom:8px}.node-content{align-items:center;background:var(--bg-secondary);border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:8px;padding:6px 10px;transition:var(--transition)}.node-content.has-children:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.node-toggle{color:var(--teal-primary);font-size:12px;font-weight:700;width:16px}.node-info{align-items:center;display:flex;gap:8px}.node-hash{color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.node-type{background:var(--teal-glow);border:1px solid var(--teal-border);border-radius:3px;color:var(--teal-primary);font-size:10px;font-weight:700;padding:1px 6px}.node-children{margin-left:20px;margin-top:4px}.tree-evidence{margin-top:16px}.tree-evidence h4{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.8px;margin:0 0 12px;text-transform:uppercase}.evidence-items-list{display:flex;flex-direction:column;gap:6px}.evidence-item{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;font-size:12px;gap:12px;padding:8px;transition:var(--transition)}.evidence-item:hover{border-color:var(--teal-border)}.evidence-type{background:var(--teal-glow);border:1px solid var(--teal-border);border-radius:3px;color:var(--teal-primary);font-size:10px;font-weight:600;padding:2px 8px}.evidence-hash{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.evidence-name{color:var(--text-secondary);font-weight:500}@media (max-width:768px){.build-details,.metadata-grid,.tree-metadata{grid-template-columns:1fr}.verification-tabs{flex-wrap:wrap}}.integrated-flow{animation:fadeInUp .3s ease}.flow-header{margin-bottom:20px}.flow-header h2{color:var(--teal-primary);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:1.5px;margin:0 0 4px;text-transform:uppercase}.flow-subtitle{color:var(--text-muted);font-size:12px;letter-spacing:.5px;margin:0}.flow-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.flow-input{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-primary);font-size:13px;min-width:260px;padding:9px 14px;transition:var(--transition)}.flow-input:focus{border-color:var(--teal-primary);box-shadow:0 0 0 2px var(--teal-glow);outline:none}.flow-input::placeholder{color:var(--text-muted)}.flow-button{background:var(--teal-primary);border:none;border-radius:var(--radius-md);color:#0a0f16;cursor:pointer;font-family:var(--font-primary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:9px 18px;text-transform:uppercase;transition:var(--transition)}.flow-button:hover:not(:disabled){background:var(--teal-secondary);box-shadow:0 0 16px var(--teal-glow);transform:translateY(-1px)}.flow-button:disabled{background:var(--text-muted);color:var(--bg-secondary);cursor:not-allowed;transform:none}.flow-error{background:#ff174414;border:1px solid #ff174440;border-radius:var(--radius-md);color:var(--red-accent);font-size:13px;margin:10px 0;padding:10px 14px}.decision-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:16px;overflow:hidden;padding:16px;position:relative}.decision-card:before{background:linear-gradient(90deg,var(--teal-primary),var(--cyan-accent));content:"";height:2px;left:0;position:absolute;right:0;top:0}.decision-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.decision-row:last-child{border-bottom:none}.decision-row span:first-child{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.decision-row span:last-child{color:var(--text-secondary)}.decision-value{font-size:13px!important;font-weight:700!important;letter-spacing:.5px}.decision-block{color:var(--red-accent)!important;text-shadow:0 0 8px #ff174466}.decision-alert{color:var(--orange-accent)!important;text-shadow:0 0 8px #ff6d0066}.decision-allow{color:var(--green-soft)!important;text-shadow:0 0 8px #00c85366}.flow-steps{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.flow-step{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;transition:var(--transition)}.flow-step:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.flow-step-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.flow-step-id{color:var(--teal-primary);font-size:12px;letter-spacing:.5px}.flow-step-id,.flow-step-status{font-weight:700;text-transform:uppercase}.flow-step-status{border-radius:20px;font-size:10px;letter-spacing:.8px;padding:3px 10px}.status-ok{background:#00c8531f;border:1px solid #00c8534d;color:var(--green-soft)}.status-warning{background:#ff6d001f;border:1px solid #ff6d004d;color:var(--orange-accent)}.status-critical{background:#ff17441f;border:1px solid #ff17444d;color:var(--red-accent)}.flow-step-title{color:var(--text-secondary);font-size:13px;margin:6px 0}.flow-step-summary{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--teal-primary);font-family:var(--font-mono);font-size:11px;margin:0;padding:8px;white-space:pre-wrap}.flow-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:14px}.flow-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px}.flow-panel h3{border-bottom:1px solid var(--border-subtle);color:var(--teal-primary);font-size:12px;font-weight:700;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.flow-panel pre{color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;margin:0;white-space:pre-wrap}.reason-panel,.timeline-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:14px;padding:14px}.reason-panel h3,.timeline-panel h3{border-bottom:1px solid var(--border-subtle);color:var(--teal-primary);font-size:12px;font-weight:700;letter-spacing:1px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.timeline-list{display:flex;flex-direction:column;gap:10px}.timeline-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px;transition:var(--transition)}.timeline-item:hover{border-color:var(--teal-border)}.timeline-item-top{color:var(--text-muted);display:flex;font-size:11px;justify-content:space-between;margin-bottom:4px}.timeline-title{color:var(--text-secondary);font-size:13px;font-weight:600;margin:4px 0}.timeline-item pre{color:var(--teal-primary);font-family:var(--font-mono);font-size:11px;margin:4px 0 0;white-space:pre-wrap}.timeline-empty{color:var(--text-muted);font-size:13px;font-style:italic;padding:32px;text-align:center}.reason-panel ul{margin:0;padding-left:18px}.reason-panel li{color:var(--text-secondary);font-size:13px;padding:4px 0}@media (max-width:900px){.flow-grid,.flow-steps{grid-template-columns:1fr}}.app-container{background:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-header);border-bottom:1px solid var(--border-card);box-shadow:0 2px 16px #00000080;flex-shrink:0;height:54px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header,.app-header-brand{align-items:center;display:flex}.app-header-brand{gap:10px}.app-header-brand .brand-logo{align-items:center;background:linear-gradient(135deg,var(--teal-primary) 0,var(--purple-accent) 100%);border-radius:6px;display:flex;height:28px;justify-content:center;width:28px}.app-header-brand .brand-logo svg{fill:#fff;height:16px;width:16px}.app-header-brand h1{color:var(--text-primary);font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:2px;margin:0;text-transform:uppercase}.app-header-brand h1 span{color:var(--teal-primary)}.app-header-nav{align-items:center;display:flex;flex:1 1;gap:6px;padding:0 24px}.app-header-breadcrumb{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:8px;letter-spacing:1px;text-transform:uppercase}.app-header-breadcrumb span.active{color:var(--teal-primary);font-weight:600}.app-header-actions{align-items:center;display:flex;gap:8px}.header-status-indicator{align-items:center;border-radius:20px;display:flex;font-size:12px;font-weight:500;gap:6px;letter-spacing:.5px;padding:5px 12px}.header-status-indicator.connected{background:#39ff141a;border:1px solid #39ff144d;color:var(--green-neon)}.header-status-indicator.disconnected{background:#ff17441a;border:1px solid #ff17444d;color:var(--red-accent)}.status-dot{animation:pulse-dot 2s infinite;border-radius:50%;height:7px;width:7px}.connected .status-dot{background:var(--green-neon);box-shadow:0 0 6px var(--green-neon)}.disconnected .status-dot{background:var(--red-accent);box-shadow:0 0 6px var(--red-accent)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.app-body{display:flex;flex:1 1;overflow:hidden}.app-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-card);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;width:220px}.sidebar-user-block{border-bottom:1px solid var(--border-subtle);padding:16px}.sidebar-user-name{color:var(--text-primary);font-size:13px;font-weight:600;margin:0 0 2px}.sidebar-user-role{color:var(--text-muted);font-size:11px}.sidebar-time{color:var(--teal-primary);font-family:var(--font-display);font-size:11px;letter-spacing:1px;margin-top:6px}.sidebar-nav{flex:1 1;padding:8px 0}.sidebar-section-label{color:var(--text-muted);font-size:10px;font-weight:700;justify-content:space-between;letter-spacing:1.5px;padding:12px 16px 4px;text-transform:uppercase}.sidebar-nav-item,.sidebar-section-label{align-items:center;cursor:pointer;display:flex}.sidebar-nav-item{border-left:2px solid #0000;color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.3px;padding:8px 16px 8px 24px;transition:var(--transition)}.sidebar-nav-item.active,.sidebar-nav-item:hover{background:var(--teal-glow);border-left-color:var(--teal-primary);color:var(--teal-primary)}.sidebar-nav-item.active{font-weight:600}.sidebar-footer{border-top:1px solid var(--border-subtle);padding:12px 16px}.sidebar-system-status{align-items:center;color:var(--green-soft);display:flex;font-size:11px;font-weight:500;gap:6px}.sidebar-system-status:before{content:"✓";font-size:10px}.app-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.app-tabs{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-card);display:flex;flex-shrink:0;gap:0;padding:0 24px}.app-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:-1px;padding:14px 22px;position:relative;text-transform:uppercase;transition:var(--transition);white-space:nowrap}.app-tab:hover{background:var(--teal-glow);color:var(--teal-primary)}.app-tab.active{background:#00d4b80d;border-bottom-color:var(--teal-primary);color:var(--teal-primary);font-weight:600}.app-tab.active:after{background:linear-gradient(90deg,#0000,var(--teal-primary),#0000);bottom:-1px;content:"";filter:blur(2px);height:2px;left:0;position:absolute;right:0}.app-page{background:var(--bg-primary);flex:1 1;overflow-y:auto;padding:24px}.stat-card-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.stat-kpi-card{background:var(--bg-card);border:1px solid var(--teal-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;padding:14px 18px;position:relative;transition:var(--transition)}.stat-kpi-card:before{background:linear-gradient(90deg,var(--teal-primary),var(--cyan-accent));content:"";height:2px;left:0;position:absolute;right:0;top:0}.stat-kpi-card:hover{border-color:var(--teal-primary);box-shadow:var(--shadow-glow-teal);transform:translateY(-1px)}.stat-kpi-label{color:var(--teal-primary);font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.stat-kpi-value{color:var(--text-primary);font-family:var(--font-display);font-size:32px;font-weight:700;line-height:1}.stat-kpi-dot{background:var(--orange-accent);border-radius:50%;box-shadow:0 0 8px var(--orange-accent);height:8px;position:absolute;right:12px;top:12px;width:8px}.panel-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px;transition:var(--transition)}.panel-card:hover{border-color:var(--teal-border)}.panel-card h3{border-bottom:1px solid var(--border-subtle);color:var(--teal-primary);font-size:13px;letter-spacing:1px;margin:0 0 16px;padding-bottom:10px}.badge,.panel-card h3{font-weight:700;text-transform:uppercase}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:10px;letter-spacing:.8px;padding:3px 10px}.badge-teal{background:var(--teal-glow);border:1px solid var(--teal-border);color:var(--teal-primary)}.badge-green{background:var(--green-glow);border:1px solid #00c8534d;color:var(--green-soft)}.badge-red{background:var(--red-glow);border:1px solid #ff17444d;color:var(--red-accent)}.badge-orange{background:var(--orange-glow);border:1px solid #ff6d004d;color:var(--orange-accent)}.badge-purple{background:var(--purple-glow);border:1px solid #7c4dff4d;color:var(--purple-accent)}.badge-cyan{background:var(--cyan-glow);border:1px solid #00e5ff4d;color:var(--cyan-accent)}.btn-primary{background:var(--teal-primary);border:none;border-radius:var(--radius-md);color:#0a0f16;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.5px;padding:9px 18px;text-transform:uppercase;transition:var(--transition)}.btn-primary:hover:not(:disabled){background:var(--teal-secondary);box-shadow:0 0 16px var(--teal-glow);transform:translateY(-1px)}.btn-primary:disabled{background:var(--text-muted);color:var(--bg-secondary);cursor:not-allowed;transform:none}.btn-secondary{background:#0000;border:1px solid var(--teal-border);border-radius:var(--radius-md);color:var(--teal-primary);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.5px;padding:9px 18px;text-transform:uppercase;transition:var(--transition)}.btn-secondary:hover{background:var(--teal-glow);border-color:var(--teal-primary)}.btn-ghost{background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;padding:9px 18px;transition:var(--transition)}.btn-ghost:hover{background:var(--bg-card-hover);border-color:var(--text-muted);color:var(--text-primary)}.dark-input{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;padding:9px 14px;transition:var(--transition);width:100%}.dark-input:focus{border-color:var(--teal-primary);box-shadow:0 0 0 2px var(--teal-glow);outline:none}.dark-input::placeholder{color:var(--text-muted)}.dark-select{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:13px;padding:8px 14px;transition:var(--transition)}.dark-select:focus{border-color:var(--teal-primary);outline:none}.dark-table{border-collapse:collapse;font-size:13px;width:100%}.dark-table th{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:1px;text-align:left;text-transform:uppercase}.dark-table td,.dark-table th{border-bottom:1px solid var(--border-subtle);padding:10px 12px}.dark-table td{color:var(--text-secondary)}.dark-table tr:hover td{background:var(--bg-card-hover);color:var(--text-primary)}.page-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.page-section-title{color:var(--teal-primary);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:1.5px;margin:0 0 4px;text-transform:uppercase}.page-section-subtitle{color:var(--text-muted);font-size:12px;margin:0}.sub-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:0;margin-bottom:20px}.sub-tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:-1px;padding:10px 20px;text-transform:uppercase;transition:var(--transition)}.sub-tab-btn.active,.sub-tab-btn:hover{color:var(--teal-primary)}.sub-tab-btn.active{border-bottom-color:var(--teal-primary);font-weight:600}.detail-row-dark{display:flex;font-size:13px;gap:8px;padding:5px 0}.detail-row-dark .dr-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;min-width:120px;text-transform:uppercase}.detail-row-dark .dr-value{color:var(--text-secondary)}.item-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:default;padding:14px;transition:var(--transition)}.item-card:hover{background:var(--bg-card-hover);border-color:var(--teal-border)}.item-card.clickable:hover{box-shadow:0 0 12px #00d4b81a;cursor:pointer}.item-card.selected{background:var(--teal-glow);border-color:var(--teal-primary);box-shadow:var(--shadow-glow-teal)}.dark-pre{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--teal-primary);font-size:11px;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.dark-progress{background:var(--bg-secondary);border-radius:3px;height:6px;overflow:hidden;width:100%}.dark-progress-fill{background:linear-gradient(90deg,var(--teal-primary),var(--cyan-accent));border-radius:3px;height:100%;transition:width .4s ease}.empty-state{color:var(--text-muted);font-size:14px;font-style:italic;padding:48px 24px;text-align:center}.result-valid{background:#00c85314;border:1px solid #00c85340;border-radius:var(--radius-md);color:var(--green-soft);font-size:13px;padding:12px}.result-invalid{background:#ff174414;border:1px solid #ff174440;border-radius:var(--radius-md);color:var(--red-accent);font-size:13px;padding:12px}.grid-2col{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.grid-3col{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.col-span-2{grid-column:1/-1}@media (max-width:900px){.grid-2col,.grid-3col{grid-template-columns:1fr}.stat-card-row{grid-template-columns:repeat(2,1fr)}.app-sidebar{width:180px}}@media (max-width:600px){.stat-card-row{grid-template-columns:1fr}.app-sidebar{display:none}.app-page{padding:16px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .3s ease forwards}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.filter-group-dark{display:flex;flex-wrap:wrap;gap:6px}.filter-btn-dark{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.3px;padding:5px 12px;transition:var(--transition)}.filter-btn-dark:hover{background:var(--teal-glow);border-color:var(--teal-border);color:var(--teal-primary)}.filter-btn-dark.active{background:var(--teal-primary);border-color:var(--teal-primary);color:#0a0f16;font-weight:700}.filter-btn-dark.severity-critical.active{background:var(--red-accent);border-color:var(--red-accent);color:#fff}.filter-btn-dark.severity-high.active{background:var(--orange-accent);border-color:var(--orange-accent);color:#fff}.filter-btn-dark.severity-medium.active{background:#ffc107;border-color:#ffc107;color:#0a0f16}.filter-btn-dark.severity-low.active{background:var(--green-soft);border-color:var(--green-soft);color:#fff}
/*# sourceMappingURL=main.5edef811.css.map*/