/* Rosé: the six reference swatches, with darker slate only where text needs contrast. */
body.sf-system.jarvis-softform[data-palette="rose"],
body.jarvis-softform .softform-connections[data-palette="rose"] {
  --rose-blush:#F7CBCA;
  --rose-stone:#DDD3D3;
  --rose-ice:#F1F7F7;
  --rose-mist:#D5E5E5;
  --rose-aqua:#B0D7D8;
  --rose-slate:#5D6B6B;
  --rose-ink:#3F4D4D;
  --rose-detail:#465555;
  --rose-primary-end:#425252;
  --j-primary:var(--rose-slate);
  --j-primary-ink:var(--rose-detail);
  --j-primary-soft:#5D6B6B14;
  --j-primary-light:var(--rose-blush);
  --j-primary-fill:linear-gradient(120deg,var(--rose-slate),var(--rose-primary-end));
  --j-chart-1:var(--rose-blush);
  --j-chart-2:var(--rose-aqua);
  --j-chart-3:var(--rose-slate);
  --j-fg:var(--rose-ink);
  --j-muted:var(--rose-detail);
  --j-soft-fg:var(--rose-ink);
  --j-soft-muted:var(--rose-detail);
  --j-accent:var(--rose-slate);
  --j-soft-accent:var(--rose-slate);
  --j-gradient:
    radial-gradient(ellipse at 0 0,#F7CBCA 0,transparent 57%),
    radial-gradient(ellipse at 100% 100%,#B0D7D8 0,transparent 60%),
    linear-gradient(135deg,#F7CBCA,#DDD3D3 42%,#D5E5E5 72%,#B0D7D8);
  --j-dashboard-gradient:var(--j-gradient);
  --j-kpi-1:linear-gradient(145deg,#F1F7F7eb,#F1F7F7a6);
  --j-kpi-2:var(--j-kpi-1);
  --j-kpi-3:var(--j-kpi-1);
  --j-kpi-4:var(--j-kpi-1);
  --j-well-fill:linear-gradient(145deg,#F1F7F752,#F1F7F71f);
  --j-well-shadow:#5D6B6B24;
  --j-well-light:#F1F7F7b3;
  --j-lens-fill:linear-gradient(145deg,#F1F7F74d,#F1F7F71a);
  --j-lens-shadow:#5D6B6B14;
  --j-edge:linear-gradient(135deg,#F1F7F7ed,#F1F7F766 28%,#5D6B6B0d 50%,#F1F7F79c 85%,#F1F7F733);
  --j-rule:#5D6B6B29;
  --j-track:#5D6B6B29;
  --j-selected:#F1F7F780;
  --j-button-fill:var(--j-lens-fill);
  --j-surface-shadow:0 8px 24px #5D6B6B0a;
  --j-text-highlight:#F1F7F780;
  --j-soft-well-fill:var(--j-well-fill);
  --j-soft-well-shadow:var(--j-well-shadow);
  --j-soft-well-light:var(--j-well-light);
  --j-soft-lens-fill:var(--j-lens-fill);
  --j-soft-lens-shadow:var(--j-lens-shadow);
  --j-soft-edge:var(--j-edge);
  --j-soft-rule:var(--j-rule);
  --j-soft-track:var(--j-track);
  --j-soft-selected:var(--j-selected);
  --j-soft-button-fill:var(--j-button-fill);
  --j-soft-text-highlight:var(--j-text-highlight);
  --j-node-channel-fill:linear-gradient(135deg,#F1F7F7f0,#D5E5E5dd);
  --j-node-person-fill:linear-gradient(135deg,#F7CBCAf0,#DDD3D3dd);
  --j-node-company-fill:linear-gradient(135deg,#B0D7D8f0,#D5E5E5dd);
  --j-node-project-fill:linear-gradient(135deg,#DDD3D3f0,#F1F7F7dd);
}

/* Neutral cards stay neutral; the blush and aqua light lives behind them. */
body.sf-system.jarvis-softform[data-palette="rose"] {
  --sf-canvas:var(--rose-ice);
  --sf-ink:var(--rose-ink);
  --sf-muted:var(--rose-slate);
  --sf-faint:var(--rose-slate);
  --sf-fg:var(--sf-ink);
  --sf-text-muted:var(--sf-muted);
  --sf-accent:var(--rose-slate);
  --sf-accent-strong:var(--rose-detail);
  --sf-focus:var(--rose-slate);
  --sf-on-accent:#fff;
  --sf-surface-fill:linear-gradient(145deg,#ffffffed,#F1F7F7eb);
  --sf-surface-shadow:0 6px 25px #5D6B6B07;
  --sf-well-fill:#D5E5E566;
  --sf-well-shadow:#5D6B6B1f;
  --sf-well-light:#F1F7F7d9;
  --sf-selected-fill:#F1F7F7e6;
  --sf-track:#D5E5E5;
  --sf-rule:#5D6B6B24;
  --sf-button-fill:linear-gradient(145deg,#fffffff0,#F1F7F7b8);
  --sf-lens-fill:linear-gradient(145deg,#ffffffad,#ffffff85);
  --j-neutral-glass:linear-gradient(145deg,#ffffffad,#ffffff85);
  --j-round-fill:linear-gradient(145deg,#fffffff0,#F1F7F7c9);
  --j-round-light:#ffffffdb;
  --j-round-shade:#5D6B6B24;
  --j-round-rim:#F1F7F7eb;
  --j-round-inset:#5D6B6B14;
  background-color:var(--sf-canvas);
  background-image:
    radial-gradient(ellipse 55vw 52vh at 12% 5%,color-mix(in srgb,var(--rose-blush) var(--j-canvas-glow-a),transparent) 0 12%,transparent 72%),
    radial-gradient(ellipse 46vw 64vh at 100% 50%,color-mix(in srgb,var(--rose-aqua) var(--j-canvas-glow-b),transparent) 0 8%,transparent 74%),
    radial-gradient(ellipse 50vw 38vh at 38% 103%,color-mix(in srgb,var(--rose-mist) var(--j-canvas-glow-c),transparent),transparent 72%);
  color:var(--sf-fg);
}
[data-theme="dark"] body.sf-system.jarvis-softform[data-palette="rose"] {
  --sf-canvas:#202828;
  --sf-ink:var(--rose-ice);
  --sf-muted:var(--rose-mist);
  --sf-faint:var(--rose-aqua);
  --sf-fg:var(--sf-ink);
  --sf-text-muted:var(--sf-muted);
  --sf-accent-strong:var(--rose-mist);
  --sf-focus:var(--rose-aqua);
  --sf-surface-fill:linear-gradient(145deg,#2B3434,#263030);
  --sf-surface-shadow:0 6px 25px #0000000d;
  --sf-well-fill:#F1F7F70a;
  --sf-well-shadow:#00000033;
  --sf-well-light:#F1F7F719;
  --sf-selected-fill:#D5E5E516;
  --sf-track:#5D6B6B;
  --sf-rule:#D5E5E526;
  --sf-button-fill:linear-gradient(145deg,#F1F7F719,#F1F7F70a);
  --sf-lens-fill:linear-gradient(145deg,#F1F7F714,#F1F7F708);
  --j-primary-ink:var(--rose-mist);
  --j-primary-soft:#B0D7D819;
  --j-neutral-glass:linear-gradient(145deg,#2B3434b8,#26303099);
  --j-round-fill:linear-gradient(145deg,#3C4848,#2B3535);
  --j-round-light:#B0D7D81c;
  --j-round-shade:#00000059;
  --j-round-rim:#F1F7F726;
  --j-round-inset:#0000003d;
  --j-canvas-glow-a:28%;
  --j-canvas-glow-b:20%;
  --j-canvas-glow-c:14%;
  background-color:var(--sf-canvas);
}
[data-theme="dark"] body.sf-system.jarvis-softform[data-palette="rose"] .softform-connections[data-palette="rose"] {
  --j-primary-ink:var(--rose-mist);
  --j-primary-soft:#B0D7D819;
}
body.sf-system.jarvis-softform[data-palette="rose"] :is(.connections-service,.dashboard-approvals,.focus-card) {
  --sf-surface-fill:var(--j-neutral-glass);
}

/* Slate controls retain white lettering and a 5.5:1 minimum text contrast. */
body.sf-system.jarvis-softform[data-palette="rose"] :is(.sf-button--primary,.button.sf-button--primary) {
  color:#fff;
  background:var(--j-primary-fill);
  text-shadow:none;
}
body.sf-system.jarvis-softform[data-palette="rose"] .sf-segmented>.sf-segment:is([aria-pressed="true"],[aria-selected="true"],.active,.is-active),
body.sf-system.jarvis-softform[data-palette="rose"] :is(.sf-tab.is-active,.wf-tabs>.active) {
  color:#fff;
  background:var(--j-primary-fill);
}
body.sf-system.jarvis-softform[data-palette="rose"] :is(.toggle.on,.connections-calendar-toggle[aria-checked="true"]>.sf-toggle-track,.sf-toggle>input:checked+.sf-toggle-track) {
  --sf-accent:var(--rose-slate);
  background:var(--rose-slate);
}

/* This pale gradient needs slate foregrounds, including its glass action. */
body.sf-system.jarvis-softform[data-palette="rose"] .softform-connections[data-palette="rose"] .dashboard-assignment {
  --sf-ink:var(--rose-ink);
  --sf-muted:var(--rose-detail);
  --sf-fg:var(--rose-ink);
  --sf-text-muted:var(--rose-detail);
  --sf-accent:var(--rose-slate);
  --sf-accent-strong:var(--rose-ink);
  --sf-focus:var(--rose-slate);
  --sf-track:#5D6B6B29;
  --sf-selected-fill:#F1F7F773;
  --text:var(--rose-ink);
  --muted:var(--rose-detail);
  --muted2:var(--rose-detail);
  color:var(--rose-ink);
  background:var(--j-gradient);
}
body.sf-system.jarvis-softform[data-palette="rose"] .softform-connections[data-palette="rose"] .dashboard-assignment .sf-button.sf-button--glass {
  --j-glass-button-fill:linear-gradient(145deg,#F1F7F74d,#F1F7F71a 56%,#F1F7F73d);
  --sf-edge-gradient:linear-gradient(135deg,#F1F7F7f0,#F1F7F799 30%,#5D6B6B33 55%,#F1F7F7b3 85%,#F1F7F766);
  color:var(--rose-ink);
  background:var(--j-glass-button-fill);
  box-shadow:-2px -2px 7px #F1F7F733,3px 5px 12px #5D6B6B1f,inset 0 1px 1px #F1F7F773;
  text-shadow:none;
}
body.sf-system.jarvis-softform[data-palette="rose"] .softform-connections[data-palette="rose"] .dashboard-assignment .sf-button.sf-button--glass:hover {
  color:var(--rose-ink);
  background:var(--j-glass-button-fill);
  background-color:#F1F7F71a;
  box-shadow:-2px -2px 8px #F1F7F74d,3px 6px 14px #5D6B6B26,inset 0 1px 1px #F1F7F799;
}
body.sf-system.jarvis-softform[data-palette="rose"] .softform-connections[data-palette="rose"] .dashboard-assignment .sf-button.sf-button--glass:active {
  color:var(--rose-ink);
  box-shadow:inset 2px 3px 6px #5D6B6B26,inset -1px -1px 3px #F1F7F773;
}

/* Node materials stay equally light in both themes; only the map's cables adapt. */
body.sf-system.jarvis-softform[data-palette="rose"] .graph-main {
  --map-ink:var(--rose-ink);
  --map-muted:var(--rose-detail);
  --map-focus:var(--rose-slate);
  --map-node-focus:var(--rose-slate);
  --map-node-mint:var(--rose-detail);
  --map-cable:var(--rose-slate);
  --map-mint:#668A8B;
  --map-violet:#947575;
  --map-proposal:#7D6665;
  --map-dot:#5D6B6B26;
}
[data-theme="dark"] body.sf-system.jarvis-softform[data-palette="rose"] .graph-main {
  --map-focus:var(--rose-aqua);
  --map-cable:var(--rose-mist);
  --map-mint:var(--rose-aqua);
  --map-violet:var(--rose-blush);
  --map-proposal:var(--rose-stone);
  --map-dot:#D5E5E51c;
  --map-control-glass:linear-gradient(145deg,#384343eb,#2B3535db);
}
body.sf-system.jarvis-softform[data-palette="rose"] .graph-main .legend-dot { background:var(--rose-aqua); }
body.sf-system.jarvis-softform[data-palette="rose"] .graph-main .legend-dot.person { background:var(--rose-blush); }
body.sf-system.jarvis-softform[data-palette="rose"] .graph-main .legend-dot.project { background:var(--rose-stone); }
body.sf-system.jarvis-softform[data-palette="rose"] .graph-main .legend-dot.channel { background:var(--rose-mist); }

.swatch-rose {
  background:radial-gradient(ellipse at 0 0,#F7CBCA 0,transparent 57%),radial-gradient(ellipse at 100% 100%,#B0D7D8 0,transparent 60%),linear-gradient(135deg,#F7CBCA,#DDD3D3 42%,#D5E5E5 72%,#B0D7D8);
}
/* The appearance dialog presents four choices without changing their swatches. */
body.jarvis-softform .connections-appearance-options {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
