.tree-link,
.dependency-link {
  display: block;
  color: #b3c1be;
  text-decoration: none;
  padding: 8px;
  border-radius: 5px;
}

.tree-link span,
.tree-link small { display: block; }
.tree-link small { font: 8px ui-monospace, monospace; color: var(--muted); margin-top: 3px; }
.tree-link:hover,
.dependency-link:hover { background: #1a282d; color: #fff; }
.tree-link.selected { background: #1a282d; color: #fff; box-shadow: inset 2px 0 var(--green); }
.dependency-link { border-top: 1px solid var(--line); border-radius: 0; }
.model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.model-grid .facet { margin: 0; }
.panel > pre,
.inspector pre { white-space: pre-wrap; overflow: auto; color: #9fb0ad; font: 9px/1.5 ui-monospace; }
.dialog textarea { width: 100%; margin-top: 6px; border: 1px solid var(--line2); background: #0b1216; color: var(--text); padding: 9px; resize: vertical; }
.auth-gate { max-width: 620px; margin: 9vh auto 0; padding: 38px; }
.auth-gate h2 { margin: 8px 0 12px; font: 500 30px/1.2 Georgia, serif; }
.auth-gate p { color: var(--muted); line-height: 1.7; }
.auth-gate form { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin-top: 26px; }
.auth-gate label { color: #9fb0ad; font-size: 10px; }
.auth-gate input { display: block; width: 100%; margin-top: 7px; border: 1px solid var(--line2); background: #0b1216; color: var(--text); padding: 10px; outline: 0; }
.auth-gate input:focus { border-color: var(--green); }
.auth-gate small { display: block; margin-top: 18px; color: #687b7d; line-height: 1.6; }
.project-chip { text-decoration: none; }
.project-select { display: block; max-width: 420px; margin-top: 20px; color: var(--muted); font-size: 10px; }
.project-select select { display: block; width: 100%; margin-top: 6px; border: 1px solid var(--line2); background: #0b1216; color: var(--text); padding: 9px; }
.review-compare { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.review-compare > section { min-width: 0; padding-top: 16px; }
.review-compare > section > .eyebrow { padding: 0 22px; }
.review-compare > section + section { border-left: 1px solid var(--line); background: #121d21; }
.verdict textarea { width: 100%; margin-top: 6px; border: 1px solid var(--line2); background: #0b1216; color: var(--text); padding: 9px; resize: vertical; }
#review-context details { margin: 12px 20px; border: 1px solid var(--line); padding: 10px; }
#review-context pre { max-height: 320px; overflow: auto; white-space: pre-wrap; color: #9fb0ad; font: 9px/1.5 ui-monospace, monospace; }
.location-observation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 0.8fr) auto; gap: 10px; align-items: end; }
.location-observation label { color: var(--muted); font-size: 9px; }
.location-observation input,
.location-overrides select { width: 100%; margin-top: 5px; border: 1px solid var(--line2); background: #0b1216; color: var(--text); padding: 8px; }
.location-overrides { border: 1px solid var(--line); padding: 10px; }
.location-overrides > p { color: var(--muted); }
.location-overrides label { display: block; margin-top: 8px; color: var(--muted); font-size: 9px; }
.typed-link { color: var(--green); text-decoration: underline; text-decoration-color: #315f55; text-underline-offset: 3px; }
.typed-link:hover, .typed-link:focus { color: #fff; outline: none; text-decoration-color: var(--green); }
#typed-preview { display: none; position: fixed; z-index: 1000; width: min(360px, calc(100vw - 24px)); padding: 14px; border: 1px solid var(--line2); border-radius: 7px; background: #101b20; box-shadow: 0 18px 50px #000b; color: var(--text); }
#typed-preview.show { display: block; }
#typed-preview span, #typed-preview small { display: block; color: var(--muted); font: 9px/1.5 ui-monospace, monospace; }
#typed-preview strong { display: block; margin: 5px 0; }
#typed-preview p { margin: 0 0 8px; color: #b3c1be; font-size: 11px; line-height: 1.5; }
.repository-tree { margin: 0; padding-left: 14px; }
.repository-capability { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 8px; border-left: 2px solid var(--line2); }
.repository-capability.orientation { opacity: .68; }
.repository-capability strong, .repository-capability small { display: block; }
.repository-capability small { margin-top: 3px; color: var(--muted); font: 8px ui-monospace, monospace; }
.facet-links { display: flex; gap: 5px; }
.facet-links .typed-link { padding: 3px 5px; border: 1px solid var(--line); border-radius: 3px; font: 8px ui-monospace, monospace; text-decoration: none; }
.capability-tabs { display: flex; flex-wrap: wrap; gap: 5px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.capability-tabs a { padding: 5px 7px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); text-decoration: none; font: 8px ui-monospace, monospace; }
.capability-tabs a:hover, .capability-tabs a:focus, .capability-tabs a.active { border-color: var(--green); color: var(--text); }
.facet-summary { display: grid; gap: 8px; padding-top: 10px; }
.facet-summary article { padding: 10px; border: 1px solid var(--line); }
.facet-summary article > div { display: flex; align-items: center; justify-content: space-between; }
.facet-summary p { color: #aebcba; line-height: 1.55; }
.context-segments { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.context-segments details, .policy-rule-grid section { border: 1px solid var(--line); padding: 10px; }
.context-segments summary { display: flex; justify-content: space-between; cursor: pointer; }
.context-segments pre { max-height: 260px; overflow: auto; white-space: pre-wrap; color: #9fb0ad; font: 9px/1.5 ui-monospace, monospace; }
.context-preview { border: 1px solid var(--line); background: var(--panel); }
.context-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; border-bottom: 1px solid var(--line); }
.context-preview-head h2 { margin: 5px 0 0; font: 500 20px Georgia, serif; }
.context-preview-head > div:last-child { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.context-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--line); }
.context-metrics article { padding: 14px 18px; border-right: 1px solid var(--line); }
.context-metrics article:last-child { border-right: 0; }
.context-metrics strong, .context-metrics span { display: block; }
.context-metrics strong { font: 500 22px Georgia,serif; }
.context-metrics span { margin-top: 4px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.context-composition { display: flex; height: 12px; margin: 18px; overflow: hidden; border-radius: 2px; background: #1a252a; }
.context-segment { min-width: 2px; border-right: 1px solid #091014; }
.context-segment.segment-0 { background: #64748b; }
.context-segment.segment-1 { background: #16a085; }
.context-segment.segment-2 { background: #8b5cf6; }
.context-segment.segment-3 { background: #c05621; }
.context-segment.segment-4 { background: #0284c7; }
.context-segment.segment-5 { background: #a3a635; }
.context-segment.segment-6 { background: #475569; }
.context-deferred-composition { margin: -8px 18px 18px; }
.context-deferred-composition small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }
.context-deferred-composition > div { display: flex; height: 10px; overflow: hidden; border: 1px solid #33434b; background: repeating-linear-gradient(135deg,#172128,#172128 6px,#24313a 6px,#24313a 12px); }
.context-deferred-composition span { min-width: 2px; border-right: 1px solid #53636c; }
.context-preview details { margin: 0; border-top: 1px solid var(--line); }
.context-preview details > summary { padding: 12px 18px; cursor: pointer; color: #b8c5c2; font-size: 10px; }
.context-brief article { padding: 4px 22px 22px; max-height: 620px; overflow: auto; }
.context-brief article h2 { margin: 22px 0 8px; font: 500 23px Georgia,serif; }
.context-brief article h3 { margin: 20px 0 7px; font: 500 17px Georgia,serif; }
.context-brief article h4 { margin: 16px 0 5px; }
.context-brief article p { margin: 5px 0; color: #b7c4c1; line-height: 1.58; }
.context-ledger table { width: 100%; border-collapse: collapse; }
.context-ledger th, .context-ledger td { padding: 9px 12px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; font-size: 9px; }
.context-ledger th { color: var(--muted); text-transform: uppercase; letter-spacing: .07em; }
.context-ledger td strong, .context-ledger td small { display: block; }
.context-ledger td small { margin-top: 3px; color: var(--muted); font: 8px ui-monospace,monospace; }
.context-ledger tr.deferred { opacity: .65; background: repeating-linear-gradient(135deg,#111a1f,#111a1f 6px,#152025 6px,#152025 12px); }
.context-debug pre { max-height: 340px; margin: 0; padding: 16px; overflow: auto; white-space: pre-wrap; color: #829492; font: 9px/1.5 ui-monospace,monospace; }
.context-preview.compact { margin-top: 10px; }
.context-preview.compact .context-preview-head { padding: 12px; }
.context-preview.compact .context-brief article { max-height: 360px; }
.table-scroll { overflow-x: auto; }
.policy-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.policy-rule-grid p { color: #aebcba; line-height: 1.55; }
.policy-rule-grid small { color: var(--muted); }
.shell,
.sidebar { transition: width .18s ease, grid-template-columns .18s ease; }
.sidebar-head { display: flex; align-items: flex-start; gap: 8px; }
.sidebar-head .brand { flex: 1; min-width: 0; }
.sidebar-toggle { flex: 0 0 28px; width: 28px; height: 28px; margin-top: 3px; border: 1px solid var(--line); border-radius: 6px; background: #11191e; color: var(--muted); cursor: pointer; font-size: 20px; line-height: 1; }
.sidebar-toggle:hover, .sidebar-toggle:focus-visible { border-color: var(--green); color: var(--text); outline: none; }
.nav-item { position: relative; }
.nav-item.nav-child { margin-left: 20px; padding-left: 15px; font-size: 11px; }
.nav-item.nav-child::before { content: ""; position: absolute; left: -8px; top: -4px; width: 12px; height: 23px; border-left: 1px solid var(--line2); border-bottom: 1px solid var(--line2); border-bottom-left-radius: 5px; }
.nav-item.branch-active:not(.active) { color: #c4cfcc; }
.nav-item.branch-active:not(.active) .nav-index { color: var(--green); }
.nav-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.credential-mark { display: none; color: var(--green); font-size: 9px; }
.shell.sidebar-collapsed { grid-template-columns: 72px 1fr; }
.sidebar-collapsed .sidebar { width: 72px; padding: 20px 10px; }
.sidebar-collapsed .sidebar-head { flex-direction: column; align-items: center; }
.sidebar-collapsed .brand { flex: none; padding: 0; }
.sidebar-collapsed .brand-copy,
.sidebar-collapsed .project-chip-copy,
.sidebar-collapsed .nav-label,
.sidebar-collapsed .credential-label,
.sidebar-collapsed .sidebar-foot p { display: none; }
.sidebar-collapsed .project-chip { justify-content: center; margin: 18px 0 20px; padding: 12px 8px; }
.sidebar-collapsed .nav-item,
.sidebar-collapsed .nav-item.nav-child { justify-content: center; margin-left: 0; padding: 11px 6px; }
.sidebar-collapsed .nav-item.nav-child::before { display: none; }
.sidebar-collapsed .nav-index { font-size: 9px; }
.sidebar-collapsed .credential-mark { display: inline; }
.inspector { position: relative; }
.inspector-progress { display: none; position: absolute; z-index: 3; top: 12px; right: 12px; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--line2); border-radius: 5px; background: #111b20ed; color: var(--muted); font-size: 9px; box-shadow: 0 8px 20px #0007; }
.inspector-progress i { width: 11px; height: 11px; border: 1px solid var(--line2); border-top-color: var(--green); border-radius: 50%; animation: spin .8s linear infinite; }
.inspector.loading-selection .inspector-progress { display: flex; }
.inspector.loading-selection #cap-inspector-content { opacity: .72; }
#cap-inspector-content { min-height: 100%; transition: opacity .12s ease; }
.task-metrics { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); margin-bottom: 18px; border: 1px solid var(--line); background: var(--panel); }
.task-metrics article { min-width: 0; padding: 13px; border-right: 1px solid var(--line); }
.task-metrics article:last-child { border-right: 0; }
.task-metrics span { display: block; min-height: 24px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.task-metrics strong { display: block; margin-top: 4px; font: 500 22px Georgia, serif; }
.task-layout { display: grid; grid-template-columns: minmax(480px,1fr) 470px; gap: 18px; align-items: start; }
.task-create { border: 1px solid var(--line); background: var(--panel); position: sticky; top: 126px; }
.task-create > p, .compact-form > p { color: var(--muted); line-height: 1.55; }
.task-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 8px; border-top: 1px solid var(--line); text-decoration: none; }
.task-row:hover { background: #151f25; }
.task-row strong, .task-row small, .task-row code { display: block; }
.task-row strong { margin: 5px 0; }
.task-row small { color: var(--green); }
.verification-modes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 15px 0; border: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.verification-modes label { padding: 4px; }
.task-detail-layout { display: grid; grid-template-columns: minmax(480px,.9fr) minmax(580px,1.1fr); gap: 18px; align-items: start; }
.task-contract { margin: 18px; padding: 14px; border: 1px solid var(--line); }
.task-contract h3 { font: 500 15px Georgia,serif; }
.task-contract code { display: block; padding: 5px 0; }
.run-history > article { padding: 14px 0; border-top: 1px solid var(--line); }
.run-history > article header { display: flex; justify-content: space-between; gap: 10px; }
.run-history > article strong, .run-history > article code { display: block; margin-bottom: 5px; }
.run-actions { margin-top: 20px; border-top: 1px solid var(--line2); padding-top: 20px; }
.compact-form { margin-top: 10px; padding: 16px; border: 1px solid var(--line); background: #0f171b; }
.compact-form h3 { margin-top: 0; font: 500 16px Georgia,serif; }
@media (max-width: 760px) { .location-observation { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .context-segments, .policy-rule-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .context-preview-head { align-items: flex-start; flex-direction: column; } .context-metrics { grid-template-columns: 1fr; } .context-metrics article { border-right: 0; border-bottom: 1px solid var(--line); } }
