/* JARVIS layout adapter. Materials and light originate in the unmodified softform.css. */
body.sf-system.jarvis-softform,
body.jarvis-softform :is(.sf-tone-blue, .sf-tone-warm, .sf-tone-pink, .sf-tone-mint, .sf-tone-neutral) {
  --bg: var(--sf-canvas);
  --text: var(--sf-fg);
  --muted: var(--sf-text-muted);
  --muted2: var(--sf-faint);
  --panel: var(--sf-lens-fill);
  --panel-solid: var(--sf-canvas);
  --edge: var(--sf-rule);
  --line: var(--sf-rule);
  --accent: var(--sf-accent);
  --accent-text: var(--sf-accent-strong);
  --mint: var(--sf-selected-fill);
  --mint-text: var(--sf-success);
  --shadow: var(--sf-surface-shadow);
  --input: var(--sf-well-fill);
  --button: var(--sf-button-fill);
  --on-button: var(--sf-fg);
  --graph-dot: var(--sf-rule);
  --soft-violet: var(--sf-well-fill);
  --white: var(--sf-selected-fill);
  --hover: var(--sf-selected-fill);
}
body.sf-system.jarvis-softform {
  margin: 0;
  color: var(--sf-fg);
  background: var(--sf-canvas);
  font: 400 var(--sf-text-sm)/1.5 var(--sf-font);
  -webkit-font-smoothing: antialiased;
}
body.jarvis-softform :is(h1, h2, h3, .brand, .company-avatar, .close-logo, .compact-counts b, .status-widget > strong) {
  font-family: var(--sf-font);
  font-weight: 400;
}
body.jarvis-softform :is(button, input, select, textarea) { font-family: var(--sf-font); }
body.jarvis-softform :is(.ambient, .noise) { display: none; }
body.jarvis-softform :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--sf-focus); outline-offset: 4px; }
body.jarvis-softform :is(.page-top, .breadcrumb, .live-state, .page-footer, .subtle) { color: var(--sf-text-muted); }
body.jarvis-softform .breadcrumb strong { color: var(--sf-fg); font-weight: 400; }
body.jarvis-softform .status-dot { background: var(--sf-success); box-shadow: none; }

/* Retain the existing shell geometry; adapt its material rather than its navigation. */
body.jarvis-softform .topbar { border-color: var(--sf-rule); background: transparent; box-shadow: none; backdrop-filter: none; }
body.jarvis-softform .side-rail { border-color: var(--sf-rule); }
body.jarvis-softform .dock.sf-surface { border: 0; border-radius: var(--sf-radius-lg); background: var(--sf-surface-fill); box-shadow: var(--sf-surface-shadow); }
body.jarvis-softform .dock-item { border-radius: var(--sf-radius-sm); color: var(--sf-text-muted); }
body.jarvis-softform .dock-item:hover { transform: none; background: var(--sf-selected-fill); color: var(--sf-fg); }
body.jarvis-softform .dock-item.active { color: var(--sf-accent-strong); background: var(--sf-well-fill); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform .dock-item.active i { background: var(--sf-accent); }
body.jarvis-softform .dock-tooltip { border: 0; border-radius: var(--sf-radius-sm); color: var(--sf-fg); background: var(--sf-canvas); box-shadow: var(--sf-surface-shadow); font-family: var(--sf-font); }
body.jarvis-softform :is(.workspace-switch, .search-trigger, .rail-bottom) { color: var(--sf-text-muted); }
body.jarvis-softform .workspace-symbol { color: var(--sf-fg); border: 0; border-radius: var(--sf-radius-sm); background: var(--sf-well-fill); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }

/* Specificity bridges for legacy panels. New connections-* layout stays in its renderer. */
body.jarvis-softform .glass-card.sf-surface {
  border: 0;
  border-radius: var(--sf-radius-lg);
  color: var(--sf-fg);
  background: var(--sf-surface-fill);
  box-shadow: var(--sf-surface-shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
body.jarvis-softform .spotlight.sf-surface:not(.sf-lens):not(.sf-glass)::before,
body.jarvis-softform .spotlight.sf-surface::after { content: none; }
body.jarvis-softform :is(.sf-inset, .sf-input, .sf-select, .sf-textarea, .detail-relation, .provider-choice, .review-card) {
  --sf-wellShadows: inset 3px 4px 9px var(--sf-well-shadow), inset -2px -3px 7px var(--sf-well-light);
}
body.jarvis-softform :is(.glass-card.sf-inset, .wf-draft-surface.sf-inset, .crm-workspace.sf-inset) {
  border: 0;
  border-radius: var(--sf-radius-md);
  color: var(--sf-fg);
  background: var(--sf-well-fill);
  box-shadow: var(--sf-wellShadows);
}
body.jarvis-softform :is(.glass-card.sf-lens, .glass-card.sf-glass) {
  border: 0;
  border-radius: var(--sf-radius-md);
  color: var(--sf-fg);
  background: var(--sf-lens-fill);
  box-shadow: inset 1px 2px 5px var(--sf-lens-shadow), inset -1px -2px 5px #ffffff10;
}
/* The current system keeps section edges quiet; controls retain their optical rim. */
body.jarvis-softform .sf-lens:not(.sf-button, button, a)::before { opacity: 0; }
body.jarvis-softform :is(.count-pill, .source-chip, .table-chip) {
  border: 0;
  border-radius: var(--sf-radius-pill);
  color: var(--sf-text-muted);
  background: var(--sf-selected-fill);
  font-family: var(--sf-font);
}
body.jarvis-softform :is(.status-pill, .wf-status).sf-badge { border: 0; border-radius: var(--sf-radius-pill); box-shadow: none; font: 400 11px/1.2 var(--sf-font); }
body.jarvis-softform :is(.status-pill, .wf-status).sf-badge--success { color: #558970; background: #b9dfc833; }
body.jarvis-softform :is(.status-pill, .wf-status).sf-badge--warning { color: #a18154; background: #e8d9b842; }
body.jarvis-softform :is(.status-pill, .wf-status).sf-badge--danger { color: #a66a78; background: #ebc9d333; }
body.jarvis-softform :is(.status-pill, .wf-status).sf-badge--neutral { color: #7b867e; background: #cbd5ce30; }

/* Legacy action classes must not overrule the original SF button materials. */
body.jarvis-softform :is(.button, .icon-button, .more).sf-button {
  min-height: 44px;
  padding: 12px 20px;
  border: 0;
  border-radius: var(--sf-radius-pill);
  color: var(--sf-fg);
  background: var(--sf-button-fill);
  box-shadow: -2px -2px 5px color-mix(in srgb, var(--sf-well-light) 62%, transparent), 2px 3px 6px var(--sf-well-shadow), inset 1px 1px 1px #ffffff4a, inset -1px -1px 2px #1d34470a;
  font: 400 var(--sf-text-sm)/1.15 var(--sf-font);
  letter-spacing: -.15px;
  text-shadow: none;
}
body.jarvis-softform :is(.button, .icon-button, .more).sf-button:hover { transform: none; }
body.jarvis-softform .button.sf-button--primary {
  color: var(--sf-on-accent);
  background: radial-gradient(ellipse at 48% 36%, #c296e6, #a574cf 69%, #9160bf);
  text-shadow: 0 1px 2px #663e7d21;
}
body.jarvis-softform .button.sf-button--success { color: #fff; background: radial-gradient(ellipse at 48% 36%, #7aca9e, #3f9b74 70%, #2e805d); }
body.jarvis-softform .button.sf-button--dark { color: #fff; background: linear-gradient(145deg, #4c5650, #35413a); text-shadow: 0 1px 1px #202d281f; }
body.jarvis-softform .button.sf-button--glass { color: var(--sf-fg); background: var(--sf-lens-fill); box-shadow: inset 1px 2px 5px var(--sf-lens-shadow), inset -1px -2px 4px #ffffff1f; }
body.jarvis-softform .button.sf-button--ghost { color: var(--sf-text-muted); background: transparent; box-shadow: none; }
body.jarvis-softform .button.sf-button--ghost:hover { color: var(--sf-fg); background: var(--sf-selected-fill); box-shadow: none; }
body.jarvis-softform .button.sf-button--danger { color: var(--sf-danger); background: #b8697a0c; box-shadow: none; }
body.jarvis-softform :is(.button.small, .sf-button--sm).sf-button { min-height: 35px; padding: 9px 15px; font-size: var(--sf-text-xs); }
body.jarvis-softform :is(.icon-button, .more, .sf-button--icon).sf-button { width: 44px; height: 44px; padding: 0; border-radius: 50%; }
body.jarvis-softform .sf-button--sm.sf-button--icon { width: 35px; height: 35px; min-height: 35px; padding: 0; }
body.jarvis-softform :is(.button, .icon-button, .more).sf-button:active,
body.jarvis-softform .button.sf-button[aria-pressed=true],
body.jarvis-softform .button.sf-depth-inset { box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform .segmented.sf-segmented { border: 0; border-radius: var(--sf-radius-pill); background: var(--sf-well-fill); box-shadow: inset 2px 3px 7px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform .segmented .sf-segment { border-radius: var(--sf-radius-pill); background: transparent; color: var(--sf-text-muted); font: 400 12px/1.2 var(--sf-font); }
body.jarvis-softform .segmented .sf-segment.active,
body.jarvis-softform .segmented .sf-segment[aria-pressed=true] { color: var(--sf-fg); background: var(--sf-selected-fill); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }

/* Recessed fields use the source well/light pair, including dialog and workflow forms. */
body.jarvis-softform :is(.form-label, .wf-form, .wf-builder) :is(.sf-input, .sf-select, .sf-textarea),
body.jarvis-softform .modal-search.sf-input {
  min-height: 45px;
  padding: 13px 16px;
  border: 1px solid var(--sf-rule);
  border-radius: var(--sf-radius-sm);
  color: var(--sf-fg);
  background: var(--sf-well-fill);
  box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light);
  font: 400 var(--sf-text-sm)/1.4 var(--sf-font);
}
body.jarvis-softform :is(.form-label, .wf-form, .wf-builder) .sf-select {
  appearance: none;
  padding-right: 39px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23808b84' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E"), var(--sf-well-fill);
  background-repeat: no-repeat;
  background-position: right 16px center, center;
}
body.jarvis-softform :is(.sf-input, .sf-select, .sf-textarea):focus { outline: 0; border-color: #ac79d55c; box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light), 0 0 0 3px #ac79d510; }
body.jarvis-softform :is(.graph-search, .wf-search).sf-inset { border: 0; border-radius: var(--sf-radius-pill); background: var(--sf-well-fill); box-shadow: var(--sf-wellShadows); }
body.jarvis-softform :is(.graph-search, .wf-search) input { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-family: var(--sf-font); }
body.jarvis-softform .filter-select.sf-select { border-color: var(--sf-rule); border-radius: var(--sf-radius-sm); color: var(--sf-text-muted); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); font-family: var(--sf-font); }
body.jarvis-softform .toggle { width: 42px; height: 25px; padding: 3px; border-radius: var(--sf-radius-pill); background: #c7d1ca60; box-shadow: inset 1px 2px 4px #697d6c23, inset -1px -1px 2px var(--sf-well-light); }
body.jarvis-softform .toggle::after { position: absolute; top: 3px; left: 3px; width: 19px; height: 19px; border-radius: 50%; background: linear-gradient(145deg, #fff, #f0f4ef); box-shadow: 1px 2px 4px #4f655324, inset 1px 1px 0 #fff; }
body.jarvis-softform .toggle.on { background: linear-gradient(135deg, #c2a2df, var(--sf-accent)); box-shadow: inset 1px 2px 4px #79529c33, inset -1px -1px 2px #ffffff50; }
body.jarvis-softform .toggle.on::after { transform: translateX(17px); }

/* Dialogs are borderless material surfaces, not another application frame. */
body.jarvis-softform .overlay { background: #3c4e4338; backdrop-filter: blur(7px); }
body.jarvis-softform .modal.sf-surface { border: 0; border-radius: var(--sf-radius-lg); color: var(--sf-fg); background: var(--sf-canvas); box-shadow: 0 28px 100px #30413524, inset 1px 1px 0 var(--sf-well-light); backdrop-filter: blur(22px); }
body.jarvis-softform .modal h2 { font: 300 25px/1.2 var(--sf-font); letter-spacing: -.8px; }
body.jarvis-softform .modal-close.sf-button { position: absolute; top: 18px; right: 18px; }
body.jarvis-softform :is(.modal-description, .permission-row small, .provider-choice small, .guide-item p) { color: var(--sf-text-muted); font-family: var(--sf-font); }
body.jarvis-softform :is(.provider-choice, .review-card, .demo-note) { border: 0; border-radius: var(--sf-radius-sm); color: var(--sf-fg); background: var(--sf-well-fill); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform .provider-choice:hover,
body.jarvis-softform .provider-choice.selected { background: var(--sf-selected-fill); }
body.jarvis-softform :is(.permission-row, .modal-footer, .guide-item) { border-color: var(--sf-rule); }
body.jarvis-softform .permission-row strong { font-weight: 400; }
body.jarvis-softform .search-result:hover { background: var(--sf-selected-fill); }
body.jarvis-softform :is(.success-icon, .guide-item > span) { color: var(--sf-success); background: var(--sf-track); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform #toast { border: 0; border-radius: var(--sf-radius-pill); background: #3b4840ed; color: #fff; box-shadow: 0 8px 26px #35483b14; font: 400 12px/1.5 var(--sf-font); }
body.jarvis-softform #toast button { color: #fff; font-family: var(--sf-font); }

/* The scene keeps its exact projection and interaction geometry. */
body.jarvis-softform .graph-shell.sf-surface { border: 0; border-radius: var(--sf-radius-lg); }
body.jarvis-softform .graph-main { background-image: radial-gradient(var(--sf-rule) .75px, transparent .75px); }
body.jarvis-softform .graph-controls { border: 0; border-radius: var(--sf-radius-pill); background: var(--sf-well-fill); box-shadow: inset 2px 3px 7px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform .graph-controls button { color: var(--sf-text-muted); }
body.jarvis-softform .graph-controls button:hover { color: var(--sf-fg); }
body.jarvis-softform .node.sf-lens { border: 0; border-radius: var(--sf-radius-md); color: var(--sf-fg); background: var(--sf-lens-fill); box-shadow: inset 1px 2px 5px var(--sf-lens-shadow), inset -1px -2px 5px #ffffff10; }
body.jarvis-softform .node.channel.sf-lens { border-radius: var(--sf-radius-sm); }
body.jarvis-softform .node :is(strong, small, .node-type) { font-family: var(--sf-font); font-weight: 400; }
body.jarvis-softform .node .node-contents.sf-button { width: 100%; height: auto; min-height: 0; padding: 0; border: 0; border-radius: inherit; color: inherit; background: transparent; box-shadow: none; text-shadow: none; justify-content: flex-start; }
body.jarvis-softform .node .node-port.sf-button { width: 14px; height: 14px; min-height: 14px; padding: 0; border: 0; border-radius: 50%; color: var(--sf-accent-strong); background: var(--sf-well-fill); box-shadow: inset 1px 1px 2px var(--sf-well-shadow), inset -1px -1px 2px var(--sf-well-light); }
body.jarvis-softform .graph-canvas.has-focus .node.is-focus { border-color: transparent; outline: 1px solid var(--sf-focus); outline-offset: 3px; background: var(--sf-lens-fill); box-shadow: inset 1px 2px 5px var(--sf-lens-shadow), inset -1px -2px 5px #ffffff10; }
body.jarvis-softform .graph-canvas.has-focus .node.is-related:not(.is-focus) { border-color: transparent; box-shadow: inset 1px 2px 5px var(--sf-lens-shadow), inset -1px -2px 5px #ffffff10; }
body.jarvis-softform .node .node-contents:focus-visible { outline: 2px solid var(--sf-focus); }
body.jarvis-softform .scene-mode-toggle { border: 0; border-radius: var(--sf-radius-pill); background: var(--sf-well-fill); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform .scene-mode-toggle button { border-radius: var(--sf-radius-pill); color: var(--sf-text-muted); }
body.jarvis-softform .scene-mode-toggle button.active { background: var(--sf-selected-fill); color: var(--sf-fg); box-shadow: inset 1px 1px 0 var(--sf-well-light); }
body.jarvis-softform .cluster-link-panel { border: 0; border-radius: var(--sf-radius-md); color: var(--sf-fg); background: var(--sf-canvas); box-shadow: var(--sf-surface-shadow); }
body.jarvis-softform .cluster-workbench.expanded { background: var(--sf-canvas); }
body.jarvis-softform .details-panel { border-color: var(--sf-rule); color: var(--sf-fg); background: var(--sf-well-fill); }
body.jarvis-softform :is(.detail-label, .detail-role, .detail-section-title, .detail-relation small) { color: var(--sf-text-muted); }
body.jarvis-softform .detail-name { color: var(--sf-fg); font-family: var(--sf-font); font-weight: 400; }
body.jarvis-softform .detail-relation { border: 0; border-radius: var(--sf-radius-sm); color: var(--sf-fg); background: var(--sf-well-fill); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); }
body.jarvis-softform .detail-channel { color: var(--sf-fg); }
body.jarvis-softform .company-avatar { border: 0; border-radius: var(--sf-radius-sm); background: var(--sf-well-fill); box-shadow: inset 2px 3px 6px var(--sf-well-shadow), inset -2px -2px 5px var(--sf-well-light); color: var(--sf-fg); }
body.jarvis-softform :is(.contact-table th, .contact-table td, .activity-row, .detail-section) { border-color: var(--sf-rule); }
body.jarvis-softform .contact-table th { color: var(--sf-text-muted); font-weight: 400; }
body.jarvis-softform .contact-table tbody tr:hover { background: var(--sf-selected-fill); }

/* SVG focus follows the cable itself. Never introduce a rectangular group frame. */
body.jarvis-softform .graph-svg :is(g[tabindex], .editable-edge, .proposal-edge),
body.jarvis-softform .graph-svg :is(g[tabindex], .editable-edge, .proposal-edge):is(:focus, :focus-visible) {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
  background: none !important;
}
body.jarvis-softform .graph-svg :is(g[tabindex], .editable-edge, .proposal-edge):focus-visible path:not(.edge-hit):not(.proposal-hit) { stroke: var(--sf-focus) !important; stroke-width: 1.35px !important; opacity: 1 !important; filter: none !important; }

/* A restrained variable-only dark extension. No alternate stage or decorative gradients. */
[data-theme=dark] body.sf-system.jarvis-softform {
  --sf-ink: #e3ebe6;
  --sf-muted: #a5b2aa;
  --sf-faint: #7d8d83;
  --sf-canvas: #1c2420;
  --sf-fg: var(--sf-ink);
  --sf-text-muted: var(--sf-muted);
  --sf-surface-fill: linear-gradient(145deg, #ffffff0f, #ffffff07);
  --sf-surface-shadow: 0 5px 18px #00000012;
  --sf-well-fill: linear-gradient(140deg, #00000018, #ffffff04 65%);
  --sf-well-shadow: #0000004d;
  --sf-well-light: #ffffff0f;
  --sf-lens-fill: linear-gradient(155deg, #ffffff0e, #ffffff06);
  --sf-lens-shadow: #00000024;
  --sf-edge-gradient: linear-gradient(133deg, #ffffff38 0%, #ffffff1c 20%, #ffffff00 43%, #ffffff02 56%, #ffffff24 82%, #ffffff05 100%);
  --sf-rule: #a4b4aa21;
  --sf-track: #c9d5cd1a;
  --sf-ring-center: #26322b;
  --sf-selected-fill: #ffffff12;
  --sf-button-fill: linear-gradient(145deg, #ffffff17, #ffffff0a);
  color-scheme: dark;
}
[data-theme=dark] body.jarvis-softform .modal.sf-surface { box-shadow: 0 28px 100px #00000040, inset 1px 1px 0 var(--sf-well-light); }
[data-theme=dark] body.jarvis-softform .glass-card.sf-surface { border-color: var(--sf-rule); }
[data-theme=dark] body.jarvis-softform .sf-surface { border-color: transparent; }
[data-theme=dark] body.jarvis-softform .sf-select option { color: var(--sf-ink); background: var(--sf-canvas); }
[data-theme=dark] body.jarvis-softform .toggle:not(.on) { background: var(--sf-track); box-shadow: inset 1px 2px 4px var(--sf-well-shadow), inset -1px -1px 2px var(--sf-well-light); }

@media (max-width: 700px) {
  body.jarvis-softform .dock.sf-surface { border-radius: var(--sf-radius-md); }
  body.jarvis-softform .modal.sf-surface { padding: 24px; border-radius: var(--sf-radius-lg); }
  body.jarvis-softform :is(.button.small, .sf-button--sm).sf-button { font-size: var(--sf-text-xs); }
  body.jarvis-softform .graph-shell.sf-surface { border-radius: var(--sf-radius-md); }
}

/* Surface primitives must not change the scene's absolute coordinate system. */
body.jarvis-softform .graph-canvas>.node.sf-lens{position:absolute}

/* Semantic node materials preserve the map geometry. */
body.jarvis-softform .node.sf-lens {
  --text: var(--sf-fg);
  --muted: var(--sf-text-muted);
  --muted2: var(--sf-text-muted);
  --panel: var(--sf-lens-fill);
  --input: var(--sf-well-fill);
  --edge: var(--sf-rule);
  color: var(--sf-fg);
}
body.jarvis-softform .node.company.sf-lens {
  --sf-fg: #284b3f;
  --sf-text-muted: #4e6d5e;
  --sf-lens-fill: linear-gradient(155deg, #bfdfd2d9, #e4f0e6b8);
  --sf-lens-shadow: #4d8a7026;
  --sf-well-fill: linear-gradient(140deg, #8cbea52b, #ffffff1f 65%);
  --sf-well-shadow: #4e8f722e;
  --sf-well-light: #f2fff2cf;
  --sf-edge-gradient: linear-gradient(133deg, #effff7ed 0%, #effff58c 20%, #ffffff00 43%, #ffffff0a 56%, #dfffeea3 82%, #ffffff1a 100%);
}
body.jarvis-softform .node.person.sf-lens {
  --sf-fg: #49365e;
  --sf-text-muted: #665378;
  --sf-lens-fill: linear-gradient(155deg, #d9c9eed9, #ece3f4b8);
  --sf-lens-shadow: #8b6ba326;
  --sf-well-fill: linear-gradient(140deg, #b99acb26, #ffffff1f 65%);
  --sf-well-shadow: #87659b2e;
  --sf-well-light: #fff3ffcf;
  --sf-edge-gradient: linear-gradient(133deg, #fbf2ffed 0%, #fbf2ff8c 20%, #ffffff00 43%, #ffffff0a 56%, #f1e3ffa3 82%, #ffffff1a 100%);
}
body.jarvis-softform .node.project.sf-lens {
  --sf-fg: #684650;
  --sf-text-muted: #78525c;
  --sf-lens-fill: linear-gradient(155deg, #f0cdd4d9, #f4dfc9bd);
  --sf-lens-shadow: #ad7b8426;
  --sf-well-fill: linear-gradient(140deg, #d5a1aa29, #ffffff1f 65%);
  --sf-well-shadow: #ae7e852e;
  --sf-well-light: #fff2e8d9;
  --sf-edge-gradient: linear-gradient(133deg, #fff5eced 0%, #fff2f58c 20%, #ffffff00 43%, #ffffff0a 56%, #ffe9e8a3 82%, #ffffff1a 100%);
}
body.jarvis-softform .node.channel.sf-lens {
  --sf-fg: #405760;
  --sf-text-muted: #526771;
  --sf-lens-fill: linear-gradient(155deg, #dce7ebcc, #edf2f1b0);
  --sf-lens-shadow: #6a87921a;
  --sf-well-fill: linear-gradient(140deg, #bbced524, #ffffff1f 65%);
  --sf-well-shadow: #718c9926;
  --sf-well-light: #f5ffffcf;
  --sf-edge-gradient: linear-gradient(133deg, #f3ffffed 0%, #f3ffff8c 20%, #ffffff00 43%, #ffffff0a 56%, #e4f2f6a3 82%, #ffffff1a 100%);
}
body.jarvis-softform .node.sf-lens .node-contents { color: var(--sf-fg); background: transparent; }
body.jarvis-softform .node.sf-lens small { color: var(--sf-text-muted); }
body.jarvis-softform .graph-svg path.mint { stroke: #6b9f88; opacity: .75; }
body.jarvis-softform .graph-svg path.violet { stroke: #9478ae; opacity: .73; }
body.jarvis-softform .legend-dot { background: #8cbea6; }
body.jarvis-softform .legend-dot.person { background: #b69bce; }
body.jarvis-softform .legend-dot.project { background: #d8a4ae; }
body.jarvis-softform .legend-dot.channel { background: #b0c4cd; }
[data-theme=dark] body.jarvis-softform .graph-svg path.mint { stroke: #85b69f; opacity: .76; }
[data-theme=dark] body.jarvis-softform .graph-svg path.violet { stroke: #b49acb; opacity: .75; }

/* Project nodes: a quiet title/status stack inside the existing 66px geometry. */
body.jarvis-softform .node.project .project-line { display: none; }
body.jarvis-softform .node.project.sf-lens {
  display: flex;
  align-items: center;
  padding: 10px 14px;
}
body.jarvis-softform .node.project.sf-lens .node-contents {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  text-align: left;
}
body.jarvis-softform .node.project.sf-lens .node-contents > strong {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}
body.jarvis-softform .node.project.sf-lens .node-contents > small {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}
