:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #e9f0f7;
  background: #080d12;
  font-synthesis: none;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 78% 8%, #12283a 0, #080d12 34rem); }
.topbar { height: 84px; display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; border-bottom: 1px solid #23313d; background: #090f15d9; }
h1 { margin: 2px 0 0; font-size: 20px; letter-spacing: -.02em; }
.eyebrow, .section-label { margin: 0; color: #38cfff; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.local-badge { border: 1px solid #285267; border-radius: 999px; padding: 9px 14px; color: #b9d8e7; font-size: 12px; }
.local-badge span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #3ee8a6; box-shadow: 0 0 12px #3ee8a6; }
main { width: min(1180px, 90vw); margin: 0 auto; }
.hero { display: flex; justify-content: space-between; align-items: end; gap: 30px; padding: 64px 0 38px; }
h2 { margin: 8px 0 12px; font-size: clamp(34px, 5vw, 62px); line-height: .98; letter-spacing: -.055em; }
.description { max-width: 620px; color: #8ba1af; }
.security-card { display: flex; gap: 14px; align-items: center; min-width: 250px; padding: 18px; border: 1px solid #1f4b5e; background: #0b1821; }
.security-card strong, .security-card small { display: block; }
.security-card small { margin-top: 5px; color: #6f91a2; }
.shield { color: #3ee8a6; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #21303a; background: #0c131a; }
.metrics article { padding: 22px; border-right: 1px solid #21303a; }
.metrics article:last-child { border: 0; }
.metrics span { display: block; color: #657b89; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.metrics strong { display: block; margin-top: 10px; font-size: 28px; }
.metrics .safe { color: #3ee8a6; }
.metrics .compact { color: #38cfff; font-size: 16px; margin-top: 17px; }
.workspace { display: grid; grid-template-columns: 250px 1fr; margin-top: 26px; min-height: 380px; border: 1px solid #21303a; background: #0b1117; }
aside { padding: 25px 18px; border-right: 1px solid #21303a; }
nav { margin-top: 18px; }
.company-button { width: 100%; display: flex; justify-content: space-between; align-items: center; margin: 5px 0; padding: 13px 14px; border: 1px solid transparent; color: #aebdca; background: transparent; cursor: pointer; text-align: left; }
.company-button span { color: #527182; font-size: 10px; text-transform: uppercase; }
.company-button:hover, .company-button.active { border-color: #24566b; color: white; background: #10232d; }
.inventory { padding: 28px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; border-bottom: 1px solid #21303a; padding-bottom: 20px; }
.section-heading h3 { margin: 6px 0 0; font-size: 25px; }
.section-heading > span { color: #536c7a; font-size: 11px; }
.view-switch { display: flex; gap: 4px; padding: 4px; background: #080e13; }
.view-button { border: 0; padding: 9px 12px; color: #607986; background: transparent; font: inherit; font-size: 11px; cursor: pointer; }
.view-button.active { color: #e9f0f7; background: #162630; }
.asset-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding-top: 20px; }
.asset-card { display: flex; gap: 14px; min-height: 120px; padding: 18px; border: 1px solid #1b2a34; background: #0d171e; }
.asset-card:hover { border-color: #2b6075; }
.asset-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid #27566a; color: #38cfff; }
.asset-card span { color: #607b89; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.asset-card h4 { margin: 7px 0; font-size: 15px; }
.status { margin: 0; color: #3ee8a6; font-size: 11px; }
.graph-panel { padding-top: 20px; }
.graph-canvas { min-height: 390px; border: 1px solid #1b2a34; overflow: hidden; background-image: radial-gradient(#213a48 1px, transparent 1px); background-size: 22px 22px; background-color: #091117; }
.graph-canvas svg { display: block; width: 100%; height: auto; min-height: 390px; }
.graph-edge line { stroke: #294653; stroke-width: 1.5; }
.graph-edge text { fill: #527181; font-size: 9px; letter-spacing: .04em; }
.graph-node { cursor: pointer; }
.graph-node circle { fill: #102731; stroke: #2b657b; stroke-width: 2; transition: .2s ease; }
.graph-node text { fill: #dceaf1; font-size: 10px; font-weight: 700; pointer-events: none; }
.graph-node.kind-company circle { fill: #14394a; stroke: #38cfff; }
.graph-node.kind-agent circle { fill: #17372f; stroke: #3ee8a6; }
.graph-node.selected circle { stroke: #fff; stroke-width: 3; filter: drop-shadow(0 0 10px #38cfff); }
.node-detail { min-height: 44px; padding: 14px 4px; color: #7893a1; font-size: 11px; }
.tasks-panel { padding-top: 20px; }
.tasks-list { display: grid; gap: 14px; }
.task-card { border: 1px solid #1b2a34; background: #0d171e; }
.task-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: 18px; border-bottom: 1px solid #1b2a34; }
.task-header span { color: #607b89; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.task-header h4 { margin: 6px 0 0; }
.task-status { padding: 7px 9px; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.status-incomplete { color: #ffc66d; background: #3a2a13; }
.status-failed { color: #ff7c7c; background: #3a1818; }
.status-completed { color: #3ee8a6; background: #123329; }
.task-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.task-timeline li { display: flex; gap: 10px; min-height: 68px; padding: 14px; border-right: 1px solid #1b2a34; border-bottom: 1px solid #1b2a34; }
.task-timeline i { width: 9px; height: 9px; flex: 0 0 9px; margin-top: 3px; border-radius: 50%; background: #40535e; }
.task-timeline strong, .task-timeline span { display: block; font-size: 10px; }
.task-timeline span { margin-top: 5px; color: #607986; word-break: break-word; }
.task-timeline .stage-passed i { background: #3ee8a6; box-shadow: 0 0 8px #3ee8a666; }
.task-timeline .stage-failed i { background: #ff6565; }
.task-timeline .stage-required i { background: #ffc66d; }
.task-timeline .stage-untrusted { opacity: .45; }
.task-blocker { margin: 0; padding: 13px 18px; color: #ffc66d; font-size: 11px; }
footer { width: min(1180px, 90vw); margin: 24px auto 40px; color: #4d626e; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 760px) {
  .hero { align-items: stretch; flex-direction: column; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .metrics article:nth-child(2) { border-right: 0; }
  .workspace { grid-template-columns: 1fr; }
  aside { border-right: 0; border-bottom: 1px solid #21303a; }
  .asset-grid { grid-template-columns: 1fr; }
  .task-timeline { grid-template-columns: 1fr; }
}
