*{box-sizing:border-box}body{color:#1e293b;margin:0;font-family:system-ui,sans-serif}#app{flex-direction:column;height:100vh;display:flex}.toolbar{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.toolbar label{font-size:13px}.panels{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.panel{border-bottom:1px solid #e2e8f0;flex-direction:column;flex:none;height:45vh;display:flex}.panel-title{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:4px 8px;font-size:12px}.panel-body{flex-direction:row;flex:1;min-height:0;display:flex}.graph{flex:1;min-width:0;min-height:200px}.errors{color:#991b1b;white-space:pre-wrap;background:#fef2f2;border-top:1px solid #fecaca;padding:6px 12px;font-size:12px}.errors:empty{display:none}.legend{flex-wrap:wrap;gap:10px;margin-left:auto;display:flex}.legend-item{color:#64748b;font-size:11px}.side-panels{background:#fbfdff;border-left:1px solid #e2e8f0;flex-direction:column;flex:0 0 340px;min-height:0;display:flex;overflow-y:auto}.side-panels>*{border-left:none}.risk-panel{background:#fbfdff;flex:none;padding:8px 10px;overflow-y:visible}.risk-panel-title{font-size:13px;font-weight:700}.risk-panel-note{color:#64748b;margin:2px 0 8px;font-size:11px}.risk-panel-empty{color:#64748b;font-size:12px}.risk-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.risk-item{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-left-width:4px;border-radius:6px;padding:6px 8px}.risk-item:hover,.risk-item:focus{background:#f1f5f9;outline:none}.risk-item.risk-band-high{border-left-color:#e5484d}.risk-item.risk-band-medium{border-left-color:#f5a623}.risk-item.risk-band-low{border-left-color:#94a3b8}.risk-item.risk-band-unknown{border-left-color:#cbd5e1}.risk-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.risk-item-name{font-size:13px;font-weight:600}.risk-item-axes{gap:6px;margin-top:4px;display:flex}.risk-item-harms{color:#475569;margin-top:4px;font-size:11px}.risk-item-note{color:#1e293b;margin-top:2px;font-size:12px}.badge{color:#334155;white-space:nowrap;border:1px solid #cbd5e1;border-radius:10px;padding:1px 6px;font-size:11px}.badge.band-high{color:#b42318;background:#fdeaea;border-color:#e5484d}.badge.band-medium{color:#92590a;background:#fef6e7;border-color:#f5a623}.badge.band-low{color:#475569;background:#f1f5f9;border-color:#94a3b8}.badge.band-unknown{color:#94a3b8;background:#f8fafc;border-color:#cbd5e1}.metadata-panel{border-bottom:1px solid #e2e8f0;padding:8px 10px}.metadata-panel-title{cursor:pointer;font-size:13px;font-weight:700}.meta-description{color:#334155;margin:6px 0;font-size:12px}.meta-section{margin-top:6px}.meta-section-title{color:#475569;font-size:12px;font-weight:600}.meta-list{color:#334155;margin:2px 0 0;padding-left:18px;font-size:12px}.meta-capability{color:#334155;margin-top:2px;font-size:12px}.meta-note{color:#475569;margin-top:2px;font-size:12px}.threats-panel{border-top:1px solid #e2e8f0;padding:8px 10px}.threats-panel-title{font-size:13px;font-weight:700}.threats-panel-empty{color:#64748b;margin-top:4px;font-size:12px}.threats-section{margin-top:6px}.threats-section-title{color:#7c3aed;font-size:12px;font-weight:600}.threat-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-top:4px;padding:6px 8px}.threat-card-path{color:#334155;font-size:12px;font-weight:600}.threat-item{margin-top:4px}.threat-item-head{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.threat-item-name{font-size:12px}.threat-item-note{color:#475569;margin-top:1px;font-size:11px}.threat-chip{color:#475569;border:1px solid #cbd5e1;border-radius:10px;padding:0 6px;font-size:10px}.threat-chip-cat{color:#6d28d9;background:#f3effe;border-color:#c4b5fd}.threat-chip-tech{background:#f1f5f9}.warnings-panel{background:#fffbeb;border-top:1px solid #fde68a;padding:8px 10px}.warnings-panel-title{color:#92590a;cursor:pointer;font-size:13px;font-weight:700}.warnings-list{margin:6px 0 0;padding-left:18px}.warning-item{color:#92590a;font-size:11px}
