:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fa;color:#172033;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fa}button{font:inherit}.appShell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:22px 16px;border-right:1px solid #d9e0ea;background:#fff}.brandBlock{display:flex;align-items:center;gap:12px;padding:0 6px}.brandMark{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#102238;color:#fff;font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.brandTitle{color:#101827;font-size:15px;font-weight:800}.brandMeta{color:#6a7384;font-size:12px}.portfolioNav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;border:1px solid #e0e7ef;border-radius:8px;background:#f8fafc}.portfolioNav a{display:inline-flex;min-height:32px;align-items:center;gap:7px;padding:0 8px;border-radius:7px;color:#465469;font-size:12px;font-weight:800;text-decoration:none}.portfolioNav a:hover,.portfolioNav .portfolioActive{background:#dff1f1;color:#0f535c}.navList{display:flex;min-height:0;flex:1;flex-direction:column;gap:3px;overflow:auto;padding-right:2px}.navItem{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#445066;cursor:pointer;font-size:13px;font-weight:700;text-align:left}.navItem:hover{background:#eef4f8;color:#172033}.navItemActive{background:#dff1f1;color:#0f535c}.plannedDot{width:7px;height:7px;margin-left:auto;border-radius:50%;background:#d99a21}.workspace{min-width:0;padding:26px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.topbar h1{margin:0;color:#0f1727;font-size:26px;font-weight:820;line-height:1.15;letter-spacing:0}.topbar p{max-width:720px;margin:7px 0 0;color:#657084;font-size:14px;line-height:1.45}.topbarActions{display:flex;align-items:center;gap:10px}.authChip{display:inline-flex;min-height:38px;align-items:center;gap:7px;padding:0 10px;border:1px solid #d3dbe7;border-radius:8px;background:#fff;color:#334155;font-size:12px;font-weight:800;white-space:nowrap}.authChip a{color:#0f6168;text-decoration:none}.authChip a:hover{text-decoration:underline}.runMeta{min-width:150px;padding:8px 11px;border:1px solid #dbe2ec;border-radius:8px;background:#fff}.runMeta span{display:block;color:#7a8495;font-size:11px;font-weight:700}.runMeta strong{display:block;margin-top:2px;color:#192236;font-size:12px;font-weight:800}.primaryButton,.secondaryButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;white-space:nowrap}.primaryButton{border:1px solid #0f6168;background:#0f6168;color:#fff}.secondaryButton{border:1px solid #d3dbe7;background:#fff;color:#273247}.primaryButton:disabled,.secondaryButton:disabled{cursor:default;opacity:.55}.errorBanner,.loadingBar{margin-bottom:16px;padding:11px 14px;border-radius:8px;font-size:13px;font-weight:700}.errorBanner{border:1px solid #f0b7b7;background:#fff1f1;color:#9b1c1c}.loadingBar{border:1px solid #c7d8ef;background:#eef6ff;color:#24476e}.filterBar{display:grid;grid-template-columns:repeat(7,minmax(116px,1fr)) minmax(180px,1.5fr) auto;gap:10px;align-items:end;margin-bottom:18px;padding:12px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.filterBar label{display:grid;gap:5px}.filterBar label span{color:#6b7586;font-size:11px;font-weight:850;text-transform:uppercase}.filterBar select,.filterBar input{width:100%;min-height:36px;padding:0 10px;border:1px solid #d3dbe7;border-radius:8px;background:#fbfcfe;color:#172033;font:inherit;font-size:13px}.filterBar input{padding-top:1px}.filterActions{display:flex;gap:8px;justify-content:flex-end}.infraFilterBar{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.infraFilterBar label{display:grid;gap:5px}.infraFilterBar label span{color:#6b7586;font-size:11px;font-weight:850;text-transform:uppercase}.infraFilterBar select{width:100%;min-height:36px;padding:0 10px;border:1px solid #d3dbe7;border-radius:8px;background:#fbfcfe;color:#172033;font:inherit;font-size:13px}.mapFilterBar{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.mapFilterBar label{display:grid;gap:5px}.mapFilterBar label span{color:#6b7586;font-size:11px;font-weight:850;text-transform:uppercase}.mapFilterBar select,.mapFilterBar input{width:100%;min-height:36px;padding:0 10px;border:1px solid #d3dbe7;border-radius:8px;background:#fbfcfe;color:#172033;font:inherit;font-size:13px}.edgeTogglePanel{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.edgeToggle{display:inline-flex;min-height:32px;align-items:center;gap:7px;padding:0 9px;border:1px solid #d8e0eb;border-radius:999px;background:#fbfcfe;color:#334155;font-size:12px;font-weight:800}.edgeToggle input{width:14px;height:14px;accent-color:#0f6972}.edgeLegendLine{display:inline-block;width:26px;border-top:3px solid currentColor}.infraMainLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:12px;align-items:start}.pageStack{display:flex;flex-direction:column;gap:18px}.metricGrid{display:grid;grid-template-columns:repeat(9,minmax(116px,1fr));gap:10px}.trendGrid{grid-template-columns:repeat(6,minmax(150px,1fr))}.metricCard{min-height:112px;padding:14px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.metricIcon{display:grid;width:30px;height:30px;place-items:center;margin-bottom:13px;border-radius:8px;background:#eff4f6;color:#334155}.metricCard span{display:block;color:#647086;font-size:12px;font-weight:750}.metricCard strong{display:block;margin-top:6px;color:#111827;font-size:22px;font-weight:860;line-height:1.1}.metric-good .metricIcon{background:#e2f6eb;color:#117044}.metric-warn .metricIcon{background:#fff2d7;color:#9b650c}.metric-bad .metricIcon{background:#ffe5e6;color:#ad242b}.twoColumn{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:18px}.panel{padding:18px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.panelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.panelHeader h2{margin:0;color:#111827;font-size:16px;font-weight:850}.panelHeader p{margin:4px 0 0;color:#667186;font-size:12px;line-height:1.35}.appStatusList,.incidentList{display:flex;flex-direction:column;gap:8px}.appStatusRow,.incidentRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fbfcfe}.appStatusRow strong,.incidentRow strong{display:block;color:#162033;font-size:13px;font-weight:850}.appStatusRow span,.incidentRow span{display:block;margin-top:2px;color:#6b7280;font-size:12px}.incidentRow{position:relative;padding-left:18px}.incidentBadges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.severityRail{position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:#d99a21}.severityRail.critical,.severityRail.high{background:#c0333a}.severityRail.medium{background:#d99a21}.severityRail.low{background:#5a7896}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:850;line-height:1;white-space:nowrap}.pill.compact{min-width:66px}.pill.good{background:#daf4e5;color:#116842}.pill.warn{background:#fff1d2;color:#8f5e0b}.pill.bad{background:#ffe1e4;color:#a9232b}.pill.neutral{background:#edf2f7;color:#526076}.matrix{display:grid;grid-template-columns:120px repeat(7,minmax(120px,1fr));overflow:auto;border:1px solid #e1e7ef;border-radius:8px}.matrixHeader,.matrixApp,.matrixCell{min-height:44px;padding:10px;border-right:1px solid #e1e7ef;border-bottom:1px solid #e1e7ef}.matrixHeader{background:#f4f7fb;color:#5f6c80;font-size:11px;font-weight:850}.matrixApp{color:#172033;font-size:13px;font-weight:850}.matrixCell{display:flex;align-items:center}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 10px;border-bottom:1px solid #e5ebf2;text-align:left;vertical-align:top}th{background:#f6f8fb;color:#5d687c;font-size:11px;font-weight:850;text-transform:uppercase}td{color:#263248}.mono{color:#475569;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.emptyState{display:grid;min-height:140px;place-items:center;border:1px dashed #cbd5e1;border-radius:8px;background:#fbfcfe;color:#6b7280;font-size:13px;font-weight:700;text-align:center}.policyGrid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.policyItem{min-height:94px;padding:12px;border:1px solid #e1e8f0;border-radius:8px;background:#fbfcfe}.policyItem span{display:block;color:#667086;font-size:12px;font-weight:800}.policyItem strong{display:block;margin-top:8px;color:#1f2937;font-size:13px;line-height:1.35}.resourceGrid{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:10px}.infraMainLayout .resourceGrid{grid-template-columns:repeat(2,minmax(230px,1fr))}.resourceCard{min-height:214px;padding:14px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.resourceCardSelected{border-color:#2a7f86;box-shadow:inset 0 0 0 1px #2a7f86}.resourceCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.resourceCardHeader strong{display:block;color:#111827;font-size:13px;font-weight:850;line-height:1.25;overflow-wrap:anywhere}.resourceCardHeader span{display:block;margin-top:4px;color:#647086;font-size:12px;font-weight:750;overflow-wrap:anywhere}.resourceCard dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.resourceCard dt{color:#6b7586;font-size:10px;font-weight:850;text-transform:uppercase}.resourceCard dd{margin:3px 0 0;color:#273247;font-size:12px;font-weight:750;overflow-wrap:anywhere}.resourceMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:10px;border-top:1px solid #e5ebf2;color:#647086;font-size:11px;font-weight:760}.resourceMeta span{overflow-wrap:anywhere}.resourceMeta a{color:#0f6168;font-weight:850;text-decoration:none}.resourceMeta a:hover{text-decoration:underline}.textButton{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0;border:0;background:transparent;color:#0f6168;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.textButton:hover{text-decoration:underline}.resourceDetailPanel{min-height:360px;padding:16px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.detailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e5ebf2}.detailHeader strong{display:block;color:#111827;font-size:16px;font-weight:850;line-height:1.25}.detailHeader span{display:block;margin-top:5px;overflow-wrap:anywhere}.detailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.detailGrid dt{color:#6b7586;font-size:10px;font-weight:850;text-transform:uppercase}.detailGrid dd{margin:3px 0 0;color:#273247;font-size:12px;font-weight:750;overflow-wrap:anywhere}.detailNotes{margin:14px 0 0;color:#3d4a60;font-size:13px;line-height:1.45}.tagList{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tagList span{max-width:100%;padding:5px 8px;border-radius:999px;background:#eef6f7;color:#24565d;font-size:11px;font-weight:800;overflow-wrap:anywhere}.detailLinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.detailLinks a{color:#0f6168;font-size:12px;font-weight:850;text-decoration:none}.detailLinks a:hover{text-decoration:underline}.dependencyColumns{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}.dependencyTable{min-width:0}.dependencyTable h3{margin:0 0 8px;color:#172033;font-size:13px;font-weight:850}.dependencyTable table{font-size:12px}.dependencyTable th,.dependencyTable td{padding:9px 8px}.tableSubtle{display:block;margin-top:3px;color:#68758a;font-size:11px;font-weight:700;overflow-wrap:anywhere}.loadingInline,.errorInline{margin:10px 0;padding:9px 10px;border-radius:8px;font-size:12px;font-weight:800}.loadingInline{background:#edf7fa;color:#24565d}.errorInline{background:#ffe1e4;color:#a9232b}.mapLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:12px;align-items:start}.mapViewport{min-height:760px;overflow:auto;border:1px solid #dce3ec;border-radius:8px;background:#fff}.mapCanvas{position:relative;min-width:100%;background:linear-gradient(#f8fafc 1px,transparent 1px),linear-gradient(90deg,#f8fafc 1px,transparent 1px);background-size:24px 24px}.mapSvg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.mapLane{fill:#f6f8fbd1;stroke:#dfe6ef;stroke-width:1}.mapLaneLabel{fill:#172033;font-size:13px;font-weight:850}.mapLaneCount{fill:#647086;font-size:11px;font-weight:800}.mapEdge{fill:none;stroke:currentColor;stroke-width:2.4;opacity:.72}.edge-reads_from{color:#365d9b}.edge-writes_to{color:#0f766e}.edge-triggers{color:#8a5a12;stroke-dasharray:6 5}.edge-depends_on{color:#5f6f86;stroke-dasharray:4 4}.edge-monitors{color:#7c3f94;stroke-dasharray:2 5}.edge-publishes_to{color:#b45309}.edge-authenticates_with{color:#933d3d;stroke-dasharray:8 4 2 4}.mapNode{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px 10px;border:2px solid #d5dee9;border-radius:8px;background:#fff;color:#172033;text-align:left;box-shadow:0 8px 18px #0f172a14;cursor:pointer}.mapNode:hover,.mapNodeSelected{border-color:#0f6972;box-shadow:0 10px 22px #0f69722e}.mapNode strong{display:block;color:#111827;font-size:12px;font-weight:850;line-height:1.16;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapNode span{color:#5f6c80;font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-healthy{border-color:#69b08b;background:#f4fbf7}.node-warning{border-color:#d99a21;background:#fffaf0}.node-critical{border-color:#c0333a;background:#fff5f6}.node-unknown{border-color:#94a3b8;background:#f8fafc}.node-not_configured{border-color:#9aa6b6;background:#f3f5f8}.mapEmpty{position:absolute;left:220px;top:84px;width:360px;padding:18px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:#647086;font-size:13px;font-weight:800;text-align:center}.plannedPanel{max-width:780px;padding:28px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.plannedPanel svg{color:#0f6168}.plannedPanel h2{margin:16px 0 8px;color:#111827;font-size:22px;font-weight:860}.plannedPanel p{max-width:640px;margin:0;color:#647086;line-height:1.55}.plannedChecklist{display:grid;gap:8px;margin-top:22px;color:#324258;font-size:13px;font-weight:750}.plannedChecklist span{display:inline-flex;align-items:center;gap:8px}@media(max-width:1180px){.metricGrid,.filterBar{grid-template-columns:repeat(3,minmax(0,1fr))}.twoColumn{grid-template-columns:1fr}.policyGrid,.resourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.infraMainLayout,.mapLayout{grid-template-columns:1fr}.infraMainLayout .resourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.appShell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid #d9e0ea}.navList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.workspace{padding:18px}.topbar,.topbarActions{align-items:stretch;flex-direction:column}.metricGrid,.policyGrid,.filterBar,.infraFilterBar,.mapFilterBar,.infraMainLayout,.mapLayout,.resourceGrid,.infraMainLayout .resourceGrid,.detailGrid{grid-template-columns:1fr}.topbar h1{font-size:22px}}
