:root {
  color-scheme: dark;
  --nc-bg: #0d1118;
  --nc-panel: #151b25;
  --nc-panel-2: #1b2330;
  --nc-line: rgba(255,255,255,.09);
  --nc-text: #eef2f8;
  --nc-muted: #9aa7b8;
  --nc-accent: #8c9eff;
  --nc-green: #60d6a5;
  --nc-amber: #e7bd73;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 70% -15%, #24304e 0, transparent 43%), var(--nc-bg); color: var(--nc-text); font: 14px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }
button { border: 0; color: inherit; font: inherit; cursor: pointer; }
.nc-shell { display: grid; grid-template-columns: 244px minmax(0,1fr); min-height: 100vh; }
.nc-sidebar { display: flex; flex-direction: column; gap: 22px; padding: 24px 16px; border-right: 1px solid var(--nc-line); background: rgba(10,14,21,.78); }
.nc-brand { display: flex; align-items: center; gap: 10px; padding: 0 8px; }
.nc-brand-mark { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; color: #111622; background: linear-gradient(145deg,#aab5ff,#6b7cf4); font-weight: 800; }
.nc-brand strong { display: block; font-size: 15px; letter-spacing: -.01em; }
.nc-brand small { color: var(--nc-muted); font-size: 11px; }
.nc-nav { display: grid; gap: 5px; }
.nc-nav button { display: flex; align-items: center; gap: 11px; width: 100%; padding: 10px 11px; border-radius: 9px; text-align: left; color: var(--nc-muted); background: transparent; }
.nc-nav button:hover, .nc-nav button.is-active { color: var(--nc-text); background: rgba(140,158,255,.14); }
.nc-nav button.is-active { box-shadow: inset 2px 0 var(--nc-accent); }
.nc-nav-icon { width: 20px; color: var(--nc-accent); text-align: center; font-size: 16px; }
.nc-side-foot { margin-top: auto; padding: 13px; border: 1px solid var(--nc-line); border-radius: 12px; background: rgba(255,255,255,.025); }
.nc-side-foot small { display: block; color: var(--nc-muted); font-size: 11px; }
.nc-side-foot strong { display: block; margin-top: 4px; font-size: 13px; }
.nc-main { min-width: 0; padding: 28px clamp(20px,4vw,52px) 42px; }
.nc-topbar { display:flex; justify-content: space-between; align-items: flex-start; gap: 20px; max-width: 1320px; margin: 0 auto 26px; }
.nc-kicker { margin: 0 0 7px; color: var(--nc-accent); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(24px,3vw,36px); letter-spacing: -.035em; }
.nc-subtitle { max-width: 730px; margin: 8px 0 0; color: var(--nc-muted); }
.nc-actions { display:flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.nc-button { display:inline-flex; align-items:center; padding: 9px 13px; border: 1px solid var(--nc-line); border-radius: 9px; background: rgba(255,255,255,.04); text-decoration:none; }
.nc-button:hover { background: rgba(255,255,255,.09); }
.nc-button.primary { border-color: transparent; color:#121624; background: var(--nc-accent); font-weight: 700; }
.nc-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 14px; max-width: 1320px; margin: auto; }
.nc-card { min-width: 0; padding: 17px; border: 1px solid var(--nc-line); border-radius: 14px; background: linear-gradient(145deg,rgba(25,33,46,.96),rgba(17,23,33,.96)); box-shadow: 0 14px 32px rgba(0,0,0,.12); }
.nc-card h2 { margin: 0; font-size: 15px; letter-spacing: -.01em; }
.nc-card p { margin: 5px 0 0; color: var(--nc-muted); font-size: 12px; }
.nc-stat { grid-column: span 3; }
.nc-stat strong { display: block; margin-top: 11px; font-size: 28px; letter-spacing: -.04em; }
.nc-stat small { color: var(--nc-muted); }
.nc-progress { height: 6px; margin-top: 12px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.08); }
.nc-progress i { display: block; width: var(--progress,50%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--nc-accent),#64d8c1); }
.nc-wide { grid-column: span 8; }
.nc-side { grid-column: span 4; }
.nc-section-head { display:flex; justify-content:space-between; align-items:baseline; gap: 12px; margin-bottom: 12px; }
.nc-section-head a { color: var(--nc-accent); font-size: 12px; }
.nc-list { display: grid; gap: 9px; }
.nc-row { display:grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items:center; gap: 10px; padding: 10px; border-radius: 10px; background: rgba(255,255,255,.035); }
.nc-row:hover { background: rgba(140,158,255,.1); }
.nc-avatar { display:grid; width:34px; height:34px; place-items:center; border-radius: 9px; color: #dbe0ff; background: rgba(140,158,255,.18); font-weight: 700; }
.nc-row strong, .nc-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nc-row small { color:var(--nc-muted); font-size:11px; }
.nc-status { padding: 4px 7px; border-radius: 999px; color: var(--nc-green); background: rgba(96,214,165,.12); font-size: 10px; font-weight: 700; }
.nc-status.amber { color:var(--nc-amber); background:rgba(231,189,115,.12); }
.nc-graph { position:relative; min-height: 224px; overflow:hidden; border:1px dashed rgba(140,158,255,.25); border-radius: 11px; background: radial-gradient(circle at 50% 45%,rgba(140,158,255,.1),transparent 48%); }
.nc-graph svg { position:absolute; inset:0; width:100%; height:100%; }
.nc-graph line { stroke: rgba(140,158,255,.38); stroke-width: 1.5; stroke-dasharray: 5 4; }
.nc-node { position:absolute; width: 145px; padding:10px; border:1px solid rgba(140,158,255,.34); border-radius:10px; background:rgba(17,24,36,.96); box-shadow:0 8px 20px rgba(0,0,0,.2); }
.nc-node strong,.nc-node small { display:block; }
.nc-node strong { font-size: 12px; }
.nc-node small { margin-top:3px; color:var(--nc-muted); font-size:10px; }
.nc-node.mission { left: 5%; top: 37%; border-color: rgba(96,214,165,.45); }
.nc-node.project-a { left: 40%; top: 12%; }
.nc-node.project-b { left: 40%; top: 63%; }
.nc-node.product { right: 5%; top: 37%; border-color: rgba(231,189,115,.45); }
.nc-activity { display:grid; gap: 12px; }
.nc-activity-item { display:grid; grid-template-columns: 9px minmax(0,1fr); gap: 10px; }
.nc-activity-item i { width:9px; height:9px; margin-top:5px; border-radius:50%; background:var(--nc-accent); box-shadow:0 0 0 4px rgba(140,158,255,.12); }
.nc-activity-item strong { display:block; font-size:12px; }
.nc-activity-item small { display:block; margin-top:3px; color:var(--nc-muted); font-size:11px; }
.nc-empty { display:none; padding: 28px 4px; color:var(--nc-muted); }
@media (max-width: 920px) { .nc-shell { grid-template-columns: 1fr; } .nc-sidebar { position:sticky; top:0; z-index:2; flex-direction:row; align-items:center; gap:14px; padding:12px 16px; overflow:auto; } .nc-nav { display:flex; flex:1; gap:4px; } .nc-nav button { width:auto; white-space:nowrap; } .nc-nav button span:last-child { display:none; } .nc-side-foot { display:none; } .nc-topbar { flex-direction:column; } .nc-actions { justify-content:flex-start; } .nc-stat { grid-column: span 6; } .nc-wide,.nc-side { grid-column:1 / -1; } }
@media (max-width: 520px) { .nc-main { padding:20px 14px 32px; } .nc-stat { grid-column:1 / -1; } .nc-node { width: 122px; } }
.nc-preview-banner { max-width:1320px; margin:0 auto 16px; padding:11px 13px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; border:1px solid rgba(140,158,255,.28); border-radius:11px; background:rgba(140,158,255,.08); color:var(--nc-muted); font-size:12px; }
.nc-preview-banner strong { color:var(--nc-text); }
.nc-preview-banner a { margin-left:auto; color:var(--nc-accent); }
.nc-layer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.nc-layer { padding:11px; border-radius:10px; background:rgba(255,255,255,.035); }
.nc-layer span,.nc-layer strong,.nc-layer small { display:block; }
.nc-layer span { color:var(--nc-muted); font-size:11px; }
.nc-layer strong { margin-top:5px; font-size:13px; }
.nc-layer small { margin-top:4px; color:var(--nc-muted); font-size:11px; }
.nc-api-status { padding:4px 8px; border:1px solid rgba(231,189,115,.28); border-radius:999px; color:var(--nc-amber); background:rgba(231,189,115,.08); font-size:10px; font-weight:700; }
.nc-api-status.is-live { border-color:rgba(96,214,165,.32); color:var(--nc-green); background:rgba(96,214,165,.1); }
@media (max-width: 920px) { .nc-layer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .nc-layer-grid { grid-template-columns:1fr; } .nc-preview-banner a { margin-left:0; } }
/* Network surface visual alignment with the Marketplace IA prototype */
:root { --nc-bg:#08080a; --nc-panel:#111114; --nc-panel-2:#17171b; --nc-line:#29292f; --nc-text:#f5f5f7; --nc-muted:#96969f; --nc-accent:#c4afff; --nc-green:#8fd5c0; --nc-amber:#e0b484; }
body { background: radial-gradient(circle at 50% -20%, #211b2d 0, transparent 42%), var(--nc-bg); color:var(--nc-text); }
.nc-shell { display:block; min-height:100vh; }
.nc-sidebar { position:sticky; top:0; z-index:30; display:flex; flex-direction:row; align-items:center; gap:26px; min-height:72px; padding:0 max(22px,calc((100vw - 1260px)/2 + 22px)); border-right:0; border-bottom:1px solid rgba(255,255,255,.1); background:rgba(8,8,10,.86); backdrop-filter:blur(18px); }
.nc-brand { gap:8px; padding:0; font-size:15.5px; font-weight:600; letter-spacing:-.02em; white-space:nowrap; }
.nc-brand { border:0; background:transparent; color:var(--nc-text); cursor:pointer; }
.nc-brand-logo { width:29px; height:29px; border-radius:9px; object-fit:contain; flex:none; }
.nc-brand strong { font-size:15.5px; font-weight:600; letter-spacing:-.02em; }
.nc-brand-mark { width:27px; height:27px; border-radius:8px; color:#111116; background:linear-gradient(145deg,#f0eef4,#9c8bff); }
.nc-brand strong { font-size:15px; font-weight:600; }
.nc-brand small { color:#858d98; font-size:10px; }
.nc-nav { display:flex; flex:1; gap:6px; align-items:center; justify-content:center; }
.nc-nav button { width:auto; padding:9px 12px; border-radius:999px; color:#9d9da6; font-size:13px; line-height:1.2; font-weight:400; }
.nc-nav button:hover, .nc-nav button.is-active { color:#fff; background:#ffffff0b; }
.nc-nav button.is-active { box-shadow:none; }
.nc-nav-icon { color:#c4afff; }
.nc-side-foot { display:none; }
.nc-header-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.nc-pro-label { color:#f0eef4; font-size:14px; font-weight:700; }
.nc-icon-button { position:relative; display:grid; width:34px; height:34px; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:#aaaab2; font-size:23px; line-height:1; }
.nc-icon-button:hover { background:#ffffff0b; color:#fff; }
.nc-icon-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.nc-notification-button { font-size:21px; }
.nc-notification-button > span { position:absolute; top:-3px; right:-3px; display:grid; min-width:18px; height:18px; place-items:center; padding:0 4px; border-radius:999px; color:#fff; background:#6f5790; font-size:10px; line-height:1; }
.nc-main { max-width:1260px; margin:0 auto; padding:0 22px 64px; }
.nc-topbar { display:block; max-width:820px; margin:0 auto; padding:82px 0 48px; text-align:center; }
.nc-kicker { color:#aaaab2; letter-spacing:.09em; }
.nc-topbar h1 { font-size:clamp(42px,4.7vw,66px); line-height:.95; font-weight:520; letter-spacing:-.045em; }
.nc-subtitle { max-width:620px; margin:18px auto 0; color:#858d98; font-size:16px; }
.nc-actions { justify-content:center; margin-top:24px; }
.nc-button { border:1px solid #393940; border-radius:999px; background:transparent; padding:10px 15px; }
.nc-button.primary { background:#f0eef4; color:#111116; border-color:#f0eef4; }
.nc-preview-banner { max-width:780px; margin:0 auto 28px; border-color:#34343b; border-radius:14px; background:#111114; color:#96969f; }
.nc-preview-banner strong { color:#f5f5f7; }
.nc-preview-banner a { color:#cfbdf2; }
.nc-grid { gap:12px; }
.nc-card { border:1px solid #29292f; border-radius:16px; background:#111114; box-shadow:none; }
.nc-card h2 { font-weight:520; }
.nc-card p,.nc-row small,.nc-layer small,.nc-stat small { color:#96969f; }
.nc-stat { background:#1a1a1a; border:0; }
.nc-stat strong { font-weight:520; }
.nc-progress { background:#29292f; }
.nc-progress i { background:linear-gradient(90deg,#8c9eff,#c4afff); }
.nc-graph { border-color:#34343b; background:radial-gradient(circle at 50% 45%,rgba(196,175,255,.12),transparent 48%); }
.nc-node { border-color:#50445f; background:#17171b; }
.nc-row { background:#17171b; }
.nc-row:hover { background:#211b29; }
.nc-avatar { color:#cfbdf2; background:#211b29; }
.nc-status { color:#b5d9cc; background:#17231e; }
.nc-status.amber { color:#d5c7aa; background:#211e18; }
@media (max-width:920px) { .nc-sidebar { padding:0 16px; gap:12px; } .nc-nav { justify-content:flex-start; overflow:auto; } .nc-main { padding-left:16px; padding-right:16px; } .nc-topbar { padding-top:58px; } .nc-header-actions { gap:6px; } .nc-pro-label { display:none; } }
@media (max-width:620px) { .nc-header-actions .nc-icon-button:nth-of-type(2), .nc-header-actions .nc-icon-button:nth-of-type(3) { display:none; } }
@media (max-width:520px) { .nc-brand strong { display:none; } .nc-user-chip { width:36px; height:36px; } }
.nc-user-chip { display:grid; place-items:center; width:50px; height:50px; margin-left:3px; border:1px solid #393940; border-radius:50%; color:#cfbdf2; background:#211b29; font-size:12px; font-weight:700; text-decoration:none; }
.nc-hero-search { display:flex; align-items:center; gap:8px; max-width:690px; margin:27px auto 0; padding:7px 12px; border:1px solid #37373d; border-radius:16px; background:#111114; color:#7f8998; }
.nc-hero-search span { font-size:18px; line-height:1; }
.nc-hero-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:#f5f5f7; font-size:13px; }
.nc-hero-search input::placeholder { color:#7f8998; }
.nc-intent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:1000px; margin:0 auto 28px; }
.nc-intent { min-height:158px; padding:20px; border:0; border-radius:16px; background:#1a1a1a; color:#f5f5f7; text-align:left; transition:transform .15s ease,background .15s ease; }
.nc-intent:hover { transform:translateY(-2px); background:#202023; }
.nc-intent span { display:block; color:#706b78; font-size:11px; }
.nc-intent strong { display:block; margin-top:20px; font-size:19px; font-weight:520; letter-spacing:-.03em; }
.nc-intent small { display:block; margin-top:7px; color:#96969f; font-size:12px; line-height:1.5; }
.nc-intent em { display:block; margin-top:16px; color:#d7c8f0; font-size:12px; font-style:normal; }
@media (max-width:920px) { .nc-intent-grid { grid-template-columns:1fr; } .nc-hero-search { margin-top:20px; } }
.nc-flow { display:grid; grid-template-columns:repeat(11,minmax(0,1fr)); align-items:center; gap:8px; max-width:1000px; margin:0 auto 28px; padding:20px 0; border-top:1px solid #29292f; border-bottom:1px solid #29292f; overflow:auto; }
.nc-flow-item { min-width:90px; text-align:center; }
.nc-flow-item b,.nc-flow-item span { display:block; }
.nc-flow-item b { font-size:12px; font-weight:520; }
.nc-flow-item span { margin-top:3px; color:#85858e; font-size:10px; }
.nc-flow > i { color:#595960; font-size:14px; font-style:normal; text-align:center; }

.nc-intent-primary { outline:1px solid rgba(196,175,255,.34); background:linear-gradient(145deg,#241d32,#1a1820); }
.nc-mission-spotlight { max-width:1000px; margin:0 auto 14px; padding:20px; border-color:#514568; background:linear-gradient(145deg,#17131f,#111114); }
.nc-mission-summary { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.nc-mission-summary h2 { margin:0; font-size:22px; font-weight:520; letter-spacing:-.03em; }
.nc-mission-summary p { margin:6px 0 0; color:#96969f; font-size:12px; }
.nc-mission-summary .nc-kicker { margin:0 0 7px; color:#cfbdf2; font-size:10px; }
.nc-mission-branches { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:18px; }
.nc-mission-branches div { padding:11px; border-radius:10px; background:#1a1820; }
.nc-mission-branches strong,.nc-mission-branches span { display:block; }
.nc-mission-branches strong { color:#cfbdf2; font-size:10px; letter-spacing:.08em; }
.nc-mission-branches span { margin-top:6px; color:#aaaab2; font-size:11px; line-height:1.4; }
.nc-mission-metrics { display:flex; flex-wrap:wrap; gap:18px; margin-top:16px; color:#96969f; font-size:11px; }
.nc-mission-metrics b { margin-right:4px; color:#f5f5f7; font-size:17px; font-weight:520; }
.nc-mission-mini { display:grid; gap:7px; margin-top:14px; }
.nc-mission-mini div { padding:9px 10px; border-radius:9px; background:#17171b; }
.nc-mission-mini strong,.nc-mission-mini span { display:block; }
.nc-mission-mini strong { color:#cfbdf2; font-size:9px; letter-spacing:.08em; }
.nc-mission-mini span { margin-top:3px; color:#96969f; font-size:11px; }
@media (max-width:720px) { .nc-mission-summary { flex-direction:column; } .nc-mission-branches { grid-template-columns:1fr; } }

/* Exact Network prototype header: brand lockup and six top-level tabs. */
.nc-sidebar { min-height:110px; padding:0 72px; gap:28px; }
.nc-brand { gap:16px; }
.nc-brand-mark { width:41px; height:41px; border-radius:12px; color:#17131f; background:linear-gradient(145deg,#f2efff,#a892ff); font-size:22px; font-weight:700; }
.nc-brand-copy { display:flex; flex-direction:column; gap:4px; text-align:left; }
.nc-brand-copy strong { font-size:20px; line-height:1; font-weight:600; letter-spacing:-.03em; }
.nc-brand-copy small { color:#858d98; font-size:14px; line-height:1; }
.nc-nav { gap:10px; }
.nc-nav button { padding:12px 16px; font-size:17px; line-height:1.2; }
.nc-nav button.is-active { color:#fff; background:#ffffff0d; }
.nc-header-actions { display:none; }
@media (max-width:920px) { .nc-sidebar { min-height:76px; padding:0 16px; gap:12px; } .nc-brand { gap:10px; } .nc-brand-mark { width:34px; height:34px; font-size:18px; } .nc-brand-copy strong { font-size:16px; } .nc-brand-copy small { font-size:11px; } .nc-nav button { padding:9px 12px; font-size:14px; } }
@media (max-width:520px) { .nc-brand-copy small { display:none; } .nc-brand-copy strong { display:block; font-size:15px; } .nc-brand-mark { width:30px; height:30px; border-radius:9px; font-size:16px; } }

/* Donor-inspired discovery layer: make the first screen actionable without
   hiding the Network read-only boundary. */
.nc-filterbar { max-width:1000px; margin:0 auto 16px; display:flex; align-items:center; gap:7px; flex-wrap:wrap; color:#85858e; font-size:11px; }
.nc-filterbar > span { margin-right:3px; color:#aaaab2; text-transform:uppercase; letter-spacing:.08em; font-size:9px; }
.nc-filterbar button { padding:7px 11px; border:1px solid #34343b; border-radius:999px; background:transparent; color:#aaaab2; font-size:11px; }
.nc-filterbar button:hover,.nc-filterbar button.is-active { color:#f5f5f7; border-color:#554765; background:#211b29; }
.nc-filterbar small { margin-left:auto; color:#706b78; font-size:10px; }
.nc-text-action { padding:0; border:0; background:none; color:#cfbdf2; font-size:12px; }
.nc-text-action:hover { color:#fff; }
.nc-opportunity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.nc-opportunity { min-width:0; display:flex; flex-direction:column; padding:14px; border:1px solid #34343b; border-radius:13px; background:#17171b; }
.nc-opportunity:hover { border-color:#554765; background:#1b1720; }
.nc-opportunity.is-locked { opacity:.72; }
.nc-opportunity-type { color:#8e8896; font-size:9px; letter-spacing:.08em; }
.nc-opportunity h3 { margin:9px 0 5px; font-size:15px; font-weight:520; letter-spacing:-.025em; }
.nc-opportunity p { min-height:52px; margin:0; color:#96969f; font-size:11px; line-height:1.55; }
.nc-opportunity > div { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin:13px 0 12px; padding-top:10px; border-top:1px solid #29292f; }
.nc-opportunity > div strong { color:#d7c8f0; font-size:14px; font-weight:550; }
.nc-opportunity > div small { color:#85858e; font-size:10px; text-align:right; }
.nc-opportunity .nc-button { align-self:flex-start; padding:8px 11px; font-size:11px; }
.nc-step-list { display:grid; gap:11px; margin:3px 0 0; padding:0; list-style:none; }
.nc-step-list li { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:start; gap:9px; }
.nc-step-list li > span { display:grid; width:26px; height:26px; place-items:center; border:1px solid #393940; border-radius:8px; color:#aaaab2; background:#1a1a1e; font-size:11px; }
.nc-step-list li.is-done > span { border-color:#395047; color:#b5d9cc; background:#17231e; }
.nc-step-list strong,.nc-step-list small { display:block; }
.nc-step-list strong { font-size:12px; font-weight:520; }
.nc-step-list small { margin-top:3px; color:#85858e; font-size:10px; line-height:1.4; }
.nc-search-empty { margin-top:10px; color:#96969f; font-size:12px; }
@media (max-width:920px) { .nc-opportunity-grid { grid-template-columns:1fr; } .nc-opportunity p { min-height:0; } .nc-filterbar small { width:100%; margin-left:0; } }
