/* Community network: Community, Mission Engine, Opportunities, Learning Reef. Uses the shared design tokens. */
.n-page { display:grid; gap:18px; padding-bottom:40px; }
.n-page > .btn.small:first-child { justify-self:start; }
.n-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:8px; }
.n-head h1 { font:600 clamp(30px,4vw,48px)/1.04 var(--font-display); letter-spacing:-.025em; margin:8px 0 6px; }
.n-head-actions, .n-card-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.n-section-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:14px; }
.n-section-head h2, .n-section-head h3, .n-h2 { margin:0; font-family:var(--font-display); }
.n-h2 { font-size:22px; margin:28px 0 12px; }
.n-muted { color:var(--muted); font-size:13px; line-height:1.55; }
.n-sub { color:var(--muted); font-size:12px; margin:2px 0; }
.n-lede { font-size:17px; color:var(--ink); margin:4px 0 8px; }
.n-ok { color:var(--green); font-size:13px; }
.n-warn { color:var(--coral); }
.n-hint { color:var(--dim); font-size:11px; }
.n-link { background:none; border:0; padding:0; color:var(--cyan); font:inherit; font-size:12px; cursor:pointer; text-align:left; }
.n-link:hover { text-decoration:underline; }
.n-link.small { font-size:11px; color:var(--dim); }
.n-count { display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--coral); color:#2b0f08; font:700 10px/1 var(--font-body); }
.n-tabs { margin:6px 0 10px; }
.n-tab-body { display:grid; gap:16px; }

/* Shared atoms */
.n-avatar { --s:36px; width:var(--s); height:var(--s); flex:0 0 var(--s); border-radius:50%; overflow:hidden; display:inline-grid; place-items:center; background:linear-gradient(135deg,rgba(132,228,229,.28),rgba(185,165,255,.22)); color:var(--ink-strong); font:600 calc(var(--s) * .42)/1 var(--font-display); border:1px solid var(--line); }
.n-avatar img { width:100%; height:100%; object-fit:cover; }
.n-person { display:inline-flex; align-items:center; gap:8px; background:none; border:0; padding:0; color:var(--ink); font:500 13px var(--font-body); cursor:pointer; }
.n-person:hover span { color:var(--cyan); }
.n-chips { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.n-chips span { padding:4px 9px; border-radius:999px; background:var(--surface-card-2); border:1px solid var(--line); color:var(--muted); font-size:11px; }
.n-badge { display:inline-flex; align-items:center; padding:3px 9px; border-radius:999px; font:600 10px/1.4 var(--font-body); letter-spacing:.04em; text-transform:uppercase; color:var(--cyan); background:rgba(132,228,229,.1); border:1px solid rgba(132,228,229,.24); }
.n-badge.green { color:var(--green); background:rgba(143,213,164,.1); border-color:rgba(143,213,164,.26); }
.n-badge.gold { color:var(--gold); background:rgba(234,203,131,.1); border-color:rgba(234,203,131,.24); }
.n-badge.coral { color:var(--coral); background:rgba(255,152,121,.1); border-color:rgba(255,152,121,.24); }
.n-badge.muted, .n-badge.auto { color:var(--muted); background:var(--surface-card-2); border-color:var(--line); }
.n-badge.cyan { color:var(--cyan); }
.n-empty { padding:34px 22px; text-align:center; border:1px dashed var(--line-strong); border-radius:var(--radius); color:var(--muted); }
.n-empty h3 { color:var(--ink); margin:0 0 6px; font-family:var(--font-display); }
.n-empty p { margin:0 auto 12px; max-width:52ch; font-size:13px; }
.n-loading { display:flex; align-items:center; gap:10px; padding:20px; color:var(--muted); font-size:13px; }
.n-loading i { width:14px; height:14px; border-radius:50%; border:2px solid var(--line-strong); border-top-color:var(--cyan); animation:n-spin .8s linear infinite; }
@keyframes n-spin { to { transform:rotate(360deg); } }
.n-error { padding:14px 16px; border-radius:var(--radius-sm); background:rgba(255,155,155,.08); border:1px solid rgba(255,155,155,.25); color:var(--danger); font-size:13px; }
.n-signin, .n-nudge { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-radius:var(--radius-sm); background:var(--surface-card-2); border:1px solid var(--line); }
.n-signin p, .n-nudge p { margin:2px 0 0; color:var(--muted); font-size:13px; }
.n-nudge { border-color:rgba(132,228,229,.3); background:rgba(132,228,229,.06); }

/* Filters and pills */
.n-filter-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
.n-filter-row .filter-select { padding:9px 11px; }
.n-grow { flex:1 1 220px; min-width:180px; color:var(--ink) !important; }
.n-topic { width:140px; color:var(--ink) !important; }
.n-pill { padding:7px 13px; border-radius:999px; border:1px solid var(--line); background:var(--btn-bg); color:var(--muted); font-size:12px; cursor:pointer; }
.n-pill.on, .n-pill:hover { color:var(--btn-primary-ink); background:var(--btn-primary-fill); border-color:var(--btn-primary-fill); }
.n-check { display:inline-flex; gap:7px; align-items:flex-start; color:var(--muted); font-size:12px; cursor:pointer; line-height:1.4; }
.n-check input { margin-top:2px; accent-color:var(--cyan-dark); }

/* Forms */
.n-form { display:grid; gap:4px; }
.n-form h1 { font:600 clamp(26px,3vw,38px)/1.1 var(--font-display); margin:6px 0; }
.n-form h3 { margin:16px 0 6px; font-family:var(--font-display); }
.n-form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:0 14px; }
.n-form .field input:not([type=checkbox]):not([type=radio]), .n-form .field select, .n-form .field textarea, .n-inline-form input:not([type=checkbox]), .n-inline-form select, .n-inline-form textarea, .n-composer input:not([type=checkbox]), .n-composer select, .n-composer textarea, .n-dialog select, .n-dialog textarea, .n-task-actions select, select[data-n-app-status], select[data-n-invite] { width:100%; color:var(--ink); background:var(--surface-input); border:1px solid var(--line); border-radius:10px; padding:10px 12px; font:13px var(--font-body); }
.n-form .field textarea, .n-composer textarea { resize:vertical; }
.n-fieldset { border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px; margin:10px 0; display:grid; gap:8px; }
.n-fieldset legend { padding:0 6px; color:var(--muted); font:500 11px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.n-multi { display:flex; flex-wrap:wrap; gap:6px; }
.n-multi label { display:inline-flex; align-items:center; gap:5px; padding:6px 10px; border-radius:999px; border:1px solid var(--line); color:var(--muted); font-size:11px; cursor:pointer; }
.n-multi label.on, .n-multi label:has(input:checked) { color:var(--btn-primary-ink); background:var(--btn-primary-fill); border-color:var(--btn-primary-fill); }
.n-multi input { position:absolute; opacity:0; pointer-events:none; }
.n-inline-form { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start; margin-top:10px; }
.n-inline-form > input, .n-inline-form > select { flex:1 1 150px; width:auto; }
.n-inline-form > textarea { flex:1 1 100%; }
.n-photo { display:flex; align-items:center; gap:14px; margin:8px 0 12px; }
.n-form > .btn.primary, .n-form > .n-card-actions { justify-self:start; margin-top:10px; }

/* Layout */
.n-feed-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:20px; align-items:start; }
.n-side { display:grid; gap:14px; position:sticky; top:84px; }
.n-side-box { padding:16px; border-radius:var(--radius); background:var(--surface-card-2); border:1px solid var(--line); display:grid; gap:6px; }
.n-side-box h3 { margin:0 0 4px; font:600 14px var(--font-display); }
.n-side-item { display:grid; gap:2px; width:100%; text-align:left; padding:9px 10px; border-radius:10px; background:transparent; border:1px solid transparent; color:var(--ink); cursor:pointer; text-decoration:none; font-size:13px; }
.n-side-item:hover, .n-side-item.on { background:var(--surface-hover); border-color:var(--line); }
.n-side-item small { color:var(--muted); font-size:11px; }
.n-side-list { display:grid; gap:4px; }
.n-profile-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:16px; align-items:start; }
.n-profile-grid > div, .n-profile-grid > aside { display:grid; gap:16px; align-content:start; }
.n-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.n-list { display:grid; gap:12px; }
.n-card { display:flex; gap:14px; padding:16px; align-items:flex-start; }
.n-card-body { display:grid; gap:4px; min-width:0; flex:1; }
.n-card-body h3 { margin:0; font:600 17px/1.25 var(--font-display); }
.n-card-body p { margin:4px 0; font-size:13px; color:var(--muted); line-height:1.5; }
.n-title { background:none; border:0; padding:0; text-align:left; color:var(--ink-strong); font:600 17px/1.25 var(--font-display); cursor:pointer; }
.n-title:hover { color:var(--cyan); }
.n-logo { width:52px; height:52px; border-radius:12px; object-fit:cover; flex:0 0 52px; background:var(--surface-card-2); }
.n-logo-blank { display:grid; place-items:center; color:var(--cyan); font:700 16px var(--font-display); border:1px solid var(--line); }
.n-logo.big { width:96px; height:96px; flex-basis:96px; font-size:28px; }
.n-rows { list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.n-rows > li { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.n-rows > li:last-child { border-bottom:0; }
.n-rows > li p { flex:1 1 100%; margin:0; font-size:13px; color:var(--muted); }
.n-dl { display:grid; grid-template-columns:minmax(110px,max-content) 1fr; gap:6px 14px; margin:0; font-size:13px; }
.n-dl dt { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; padding-top:2px; }
.n-dl dd { margin:0; white-space:pre-line; }
.n-dl.small { font-size:12px; margin:8px 0; }
.n-stat-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:10px; margin:6px 0 14px; }
.n-stat { padding:12px 14px; border-radius:var(--radius-sm); background:var(--surface-card-2); border:1px solid var(--line); display:grid; gap:2px; }
.n-stat b { font:600 24px/1 var(--font-display); color:var(--ink-strong); }
.n-stat span { color:var(--muted); font-size:11px; }
.n-table { width:100%; border-collapse:collapse; font-size:13px; }
.n-table th, .n-table td { text-align:left; padding:9px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
.n-table th { color:var(--muted); font-weight:500; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }

/* Feed */
.n-composer { padding:14px; display:grid; gap:8px; margin-bottom:14px; }
.n-composer-top, .n-composer-bottom { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.n-composer-top select, .n-composer-bottom input, .n-composer-bottom select { flex:1 1 160px; width:auto; }
.n-composer-bottom .n-check { flex:1 1 220px; align-items:center; }
.n-posts { display:grid; gap:12px; }
.n-post { padding:16px 18px; display:grid; gap:8px; }
.n-post header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; }
.n-post h3 { margin:0; font:600 18px/1.3 var(--font-display); }
.n-post > p { margin:0; white-space:pre-line; line-height:1.6; color:var(--ink); font-size:14px; }
.n-meta { display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px; color:var(--dim); font-size:11px; }
.n-source { color:var(--cyan); font-size:12px; word-break:break-all; }
.n-post-links { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.n-post-links .n-chips { margin:0; }
.n-post footer { display:flex; flex-wrap:wrap; gap:6px; border-top:1px solid var(--line); padding-top:10px; }
.n-react { padding:6px 11px; border-radius:999px; background:transparent; border:1px solid var(--line); color:var(--muted); font-size:12px; cursor:pointer; }
.n-react:hover:not(:disabled), .n-react.on { color:var(--ink-strong); border-color:var(--cyan-dark); background:rgba(132,228,229,.08); }
.n-react:disabled { opacity:.5; cursor:default; }
.n-thread { border-top:1px solid var(--line); padding-top:10px; }
.n-comments { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.n-comments li { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; align-items:center; }
.n-comments li p { grid-column:1 / -1; margin:0 0 0 36px; font-size:13px; white-space:pre-line; }
.n-comments li .n-link { grid-column:1 / -1; margin-left:36px; }

/* Discussions */
.n-channel-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.n-channel { display:grid; gap:4px; padding:14px 16px; border-radius:var(--radius-sm); background:var(--surface-card-2); border:1px solid var(--line); color:var(--ink); text-align:left; cursor:pointer; }
.n-channel span { color:var(--dim); font-size:11px; }
.n-channel:hover, .n-channel.on { border-color:var(--cyan-dark); background:rgba(132,228,229,.07); }
.n-country-channel select { width:100%; margin-top:4px; color:var(--ink); background:var(--surface-input); border:1px solid var(--line); border-radius:8px; padding:7px; }
.n-channel-view { display:grid; gap:12px; margin-top:16px; }
.n-guidelines ol { margin:10px 0; padding-left:20px; display:grid; gap:6px; font-size:14px; }

/* Profiles */
.n-profile-head { display:flex; flex-wrap:wrap; gap:22px; align-items:flex-start; }
.n-profile-head > div { flex:1; min-width:240px; display:grid; gap:4px; }
.n-profile-head h1 { margin:4px 0; font:600 clamp(28px,3.4vw,42px)/1.05 var(--font-display); }
.n-profile h4, .n-org h4 { margin:14px 0 4px; color:var(--muted); font:500 11px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.n-recognition { list-style:none; margin:8px 0; padding:0; display:grid; gap:8px; }
.n-recognition li { display:grid; gap:2px; padding:10px 12px; border-radius:10px; border:1px solid rgba(143,213,164,.3); background:rgba(143,213,164,.06); }
.n-recognition span { color:var(--muted); font-size:12px; }
.n-contrib { align-items:flex-start !important; justify-content:space-between; }
.n-contrib > div:first-child { display:grid; gap:3px; flex:1 1 300px; }
.n-contrib-status { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.n-admin-box { border-color:rgba(234,203,131,.3); }

/* Events and calendar */
.n-cal { padding:14px; }
.n-cal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.n-cal-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.n-cal-grid > b { color:var(--dim); font:500 10px var(--font-mono); text-transform:uppercase; text-align:center; padding:4px 0; }
.n-cal-cell { min-height:74px; padding:5px; border-radius:8px; background:var(--surface-card); border:1px solid var(--line); display:grid; align-content:start; gap:3px; overflow:hidden; }
.n-cal-cell.empty { background:transparent; border-color:transparent; }
.n-cal-cell > span { color:var(--muted); font-size:11px; }
.n-cal-cell.today { border-color:var(--cyan-dark); }
.n-cal-cell button { border:0; border-radius:5px; padding:2px 5px; background:rgba(132,228,229,.16); color:var(--ink); font-size:10px; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.n-cal-cell small { color:var(--dim); font-size:10px; }
.n-event { display:flex; gap:16px; padding:16px; }
.n-event.focus { border-color:var(--cyan-dark); }
.n-event-date { display:grid; place-items:center; align-content:center; width:58px; height:64px; flex:0 0 58px; border-radius:12px; background:rgba(132,228,229,.1); border:1px solid rgba(132,228,229,.25); }
.n-event-date b { font:600 24px/1 var(--font-display); color:var(--cyan); }
.n-event-date span { font-size:11px; color:var(--muted); text-transform:uppercase; }
.n-attendees { list-style:none; padding:0; margin:8px 0 0; display:grid; gap:6px; }
.n-attendees li { display:flex; gap:10px; align-items:center; }

/* Ledger, moderation, inbox */
.n-report > div:first-child { flex:1 1 360px; }
.n-audit { list-style:none; margin:0; padding:0; display:grid; gap:4px; font-size:12px; color:var(--muted); max-height:320px; overflow:auto; }
.n-audit time { color:var(--dim); margin-right:6px; }
.n-notes { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.n-notes button { width:100%; display:grid; gap:3px; text-align:left; padding:12px 14px; border-radius:var(--radius-sm); background:var(--surface-card); border:1px solid var(--line); color:var(--ink); cursor:pointer; }
.n-notes li.unread button { border-color:rgba(132,228,229,.35); background:rgba(132,228,229,.06); }
.n-notes span { color:var(--muted); font-size:13px; }
.n-notes small { color:var(--dim); font-size:11px; }
.n-thread-row { display:flex; align-items:center; gap:10px; width:100%; background:none; border:0; color:var(--ink); text-align:left; cursor:pointer; padding:4px 0; }
.n-thread-row > span { display:grid; flex:1; min-width:0; }
.n-thread-row small { color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.n-dm { list-style:none; margin:12px 0; padding:0; display:grid; gap:8px; max-height:55vh; overflow:auto; }
.n-dm li { max-width:75%; padding:10px 13px; border-radius:14px 14px 14px 4px; background:var(--surface-card-2); border:1px solid var(--line); justify-self:start; }
.n-dm li.mine { justify-self:end; border-radius:14px 14px 4px 14px; background:rgba(132,228,229,.12); border-color:rgba(132,228,229,.25); }
.n-dm p { margin:0; white-space:pre-line; font-size:14px; }
.n-dm small { color:var(--dim); font-size:10px; }
.n-toggle-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:10px; margin:8px 0 6px; }

/* Missions */
.n-engine-section { display:grid; gap:12px; }
.n-mission-card .n-card-body > p:first-of-type { min-height:2.8em; }
.n-stages { list-style:none; display:grid; grid-template-columns:repeat(7,1fr); gap:3px; margin:8px 0; padding:0; }
.n-stages li { height:6px; border-radius:3px; background:var(--line); position:relative; }
.n-stages li.done { background:var(--cyan-dark); }
.n-stages li.now { background:var(--gold); }
.n-stages li span { position:absolute; top:9px; left:0; font-size:9px; color:var(--dim); white-space:nowrap; opacity:0; }
.n-stages li.now span { opacity:1; color:var(--gold); }
.n-mission-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,300px); gap:22px; }
.n-mission-head h1 { margin:6px 0; font:600 clamp(28px,3.6vw,44px)/1.05 var(--font-display); }
.n-mission-head .n-stages { margin:14px 0 22px; }
.n-mission-cta { display:grid; gap:8px; align-content:start; padding:14px; border-radius:var(--radius-sm); background:var(--surface-card-2); border:1px solid var(--line); }
.n-mission-cta p { margin:0; font-size:13px; }
.n-apply { margin-top:6px; }
.n-template-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.n-template { display:grid; gap:6px; padding:18px; text-align:left; color:var(--ink); cursor:pointer; border:1px solid var(--line); }
.n-template:hover { border-color:var(--cyan-dark); transform:translateY(-2px); }
.n-template strong { font:600 17px var(--font-display); }
.n-template span { color:var(--cyan); font-size:11px; }
.n-template small { color:var(--muted); font-size:12px; }
.n-template.blank { border-style:dashed; }
.n-kanban { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:12px; overflow-x:auto; padding-bottom:6px; }
.n-kanban > section { display:grid; gap:8px; align-content:start; padding:12px; border-radius:var(--radius); background:var(--surface-card); border:1px solid var(--line); min-height:180px; }
.n-kanban h4 { margin:0 0 4px; font:600 13px var(--font-display); display:flex; justify-content:space-between; }
.n-kanban h4 small { color:var(--dim); }
.n-task { display:grid; gap:5px; padding:11px; border-radius:12px; background:var(--panel-strong); border:1px solid var(--line); font-size:13px; }
.n-task.late { border-color:rgba(255,152,121,.45); }
.n-task p { margin:0; color:var(--muted); font-size:12px; }
.n-task small { color:var(--dim); font-size:11px; }
.n-task-actions { display:grid; gap:6px; margin-top:4px; }
.n-task-actions select { padding:6px 8px; font-size:12px; }
.n-task-form > input:first-child { flex:2 1 220px; }
.n-modalish { margin-top:14px; display:grid; gap:8px; }
.n-milestones { list-style:none; margin:0 0 10px; padding:0; display:grid; gap:8px; }
.n-milestones li { display:grid; gap:4px; padding:12px 14px 12px 34px; border-radius:var(--radius-sm); border:1px solid var(--line); position:relative; }
.n-milestones li::before { content:""; position:absolute; left:12px; top:16px; width:10px; height:10px; border-radius:50%; border:2px solid var(--line-strong); }
.n-milestones li.done::before { background:var(--green); border-color:var(--green); }
.n-milestones li p { margin:0; font-size:13px; color:var(--muted); }
.n-milestones li .btn { justify-self:start; }
.n-timeline, .n-log { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.n-timeline li { display:grid; grid-template-columns:90px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.n-timeline time, .n-log time { color:var(--dim); font-size:11px; }
.n-timeline p { margin:4px 0; color:var(--muted); font-size:13px; }
.n-log li { display:grid; gap:2px; font-size:12px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.n-log p { margin:0; color:var(--muted); }
.n-progress { display:grid; gap:8px; }
.n-progress label { display:flex; justify-content:space-between; font-size:13px; color:var(--muted); }
.n-progress meter, .n-pathway meter { width:100%; height:10px; }
.n-fit { display:grid; gap:4px; padding:12px 0; border-bottom:1px solid var(--line); }
.n-fit a { color:var(--ink); text-decoration:none; }
.n-fit ul { list-style:none; margin:4px 0; padding:0; display:grid; gap:3px; font-size:12px; }
.n-fit li { display:flex; justify-content:space-between; gap:10px; color:var(--muted); }
.n-fit li b { color:var(--ink); font-weight:500; text-align:right; }
.n-fit small { color:var(--gold); font-size:11px; }
.n-compare { padding:16px; margin-top:12px; }
.n-compare-scroll { overflow-x:auto; }
.n-compare table { width:100%; border-collapse:collapse; font-size:12px; min-width:560px; }
.n-compare th, .n-compare td { text-align:left; vertical-align:top; padding:8px; border-bottom:1px solid var(--line); }
.n-compare tbody th { color:var(--muted); font-weight:500; width:160px; }

/* Opportunities */
.n-opps, .n-funding { display:grid; gap:12px; }
.n-fund .n-card-actions { margin-top:8px; }
.n-tracker select { padding:6px 8px; font-size:12px; }
.n-track { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; align-items:center; }
.n-track h3 { margin:4px 0; }
.n-track select { max-width:260px; }
.n-match-box { border-color:rgba(234,203,131,.28); }
.n-radar-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; align-items:start; }
.n-radar-card { display:grid; gap:4px; }
.n-reasons { color:var(--cyan) !important; }
.n-chips-line { margin:0; }

/* Learning */
.n-learning-teaser { display:grid; gap:12px; }
.n-path-strip { display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; }
.n-path-chip { flex:0 0 auto; display:flex; gap:10px; align-items:center; padding:10px 14px; border-radius:999px; border:1px solid var(--line); background:var(--surface-card-2); color:var(--ink); cursor:pointer; font-size:13px; }
.n-path-chip span { color:var(--cyan); font-size:11px; }
.n-path-chip:hover { border-color:var(--cyan-dark); }
.n-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.n-steps button { width:100%; padding:11px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--surface-card); color:var(--muted); cursor:pointer; font-size:13px; }
.n-steps button.done { color:var(--green); border-color:rgba(143,213,164,.35); }
.n-steps button.on { color:var(--btn-primary-ink); background:var(--btn-primary-fill); border-color:var(--btn-primary-fill); }
.n-lesson { display:grid; gap:10px; font-size:15px; line-height:1.65; }
.n-lesson p { margin:0; }
.n-lesson ul { margin:0; padding-left:18px; }
.n-lesson .btn { justify-self:start; }
.n-certificate { border:1px solid rgba(234,203,131,.4); background:linear-gradient(135deg,rgba(234,203,131,.08),transparent); }
.n-certificate h2 { margin:6px 0; font-family:var(--font-display); }

/* Dialog */
.n-dialog-backdrop { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px; background:rgba(2,10,16,.66); backdrop-filter:blur(4px); }
.n-dialog { width:min(480px,100%); display:grid; gap:6px; }
.n-dialog h2 { margin:0; font-family:var(--font-display); }
.n-dialog .field select, .n-dialog .field textarea { width:100%; }

@media (max-width: 980px) {
  .n-feed-layout, .n-profile-grid, .n-mission-head { grid-template-columns:1fr; }
  .n-side { position:static; }
}
@media (max-width: 640px) {
  .n-head h1 { font-size:30px; }
  .n-cal-cell { min-height:46px; }
  .n-cal-cell button { font-size:0; padding:0; height:6px; }
  .n-steps { grid-template-columns:repeat(2,1fr); }
  .n-kanban { grid-template-columns:repeat(4,minmax(78vw,1fr)); scroll-snap-type:x mandatory; }
  .n-kanban > section { scroll-snap-align:start; }
  .n-event { flex-direction:column; }
  .n-dm li { max-width:90%; }
  .n-dl { grid-template-columns:1fr; }
  .n-timeline li { grid-template-columns:1fr; }
}
@media print {
  body:has(.n-certificate) * { visibility:hidden; }
  body:has(.n-certificate) .n-certificate, body:has(.n-certificate) .n-certificate * { visibility:visible; }
  .n-certificate { position:absolute; inset:0; }
}
