#sg-planner-workbench {
  color-scheme: light;
  --paper: #f6f8f9;
  --panel: #ffffff;
  --ink: #13212c;
  --muted: #5d6d78;
  --line: #d2dde4;
  --blue: #0f7ab5;
  --green: #4b9f38;
  --amber: #b56b10;
  --soft-blue: #e5f2f8;
  --soft-green: #e9f5e5;
  --soft-amber: #fff4df;
  --shadow: 0 20px 50px rgba(19, 33, 44, 0.08);

  
  --night: #0d1a22;
  --night-line: #21353f;
  --night-ink: #e9f1f5;
  --night-muted: #93aab6;
  --night-accent: #7fb4ff;
}#sg-planner-workbench * {
  box-sizing: border-box;
}#sg-planner-workbench {
  font-family: Karla, Arial, Helvetica, sans-serif;
  background: var(--paper);
  color: var(--ink);
}#sg-planner-workbench {
  margin: 0;
}#sg-planner-workbench button,
#sg-planner-workbench input,
#sg-planner-workbench select,
#sg-planner-workbench textarea {
  font: inherit;
}#sg-planner-workbench a {
  color: var(--blue);
  font-weight: 800;
  text-underline-offset: 4px;
}#sg-planner-workbench .app-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 22px 0 48px;
}#sg-planner-workbench .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0 18px;
  border-bottom: 1px solid var(--line);
}#sg-planner-workbench .language-control {
  min-width: 142px;
}#sg-planner-workbench .language-control span {
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 11px;
  text-transform: uppercase;
}#sg-planner-workbench .brand {
  display: grid;
  gap: 4px;
  color: var(--ink);
  text-decoration: none;
}#sg-planner-workbench .brand span,
#sg-planner-workbench .eyebrow,
#sg-planner-workbench dt,
#sg-planner-workbench th,
#sg-planner-workbench .model-button small,
#sg-planner-workbench .step {
  font-family: "IBM Plex Mono", Consolas, monospace;
}#sg-planner-workbench .brand span,
#sg-planner-workbench .eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  color: var(--blue);
}#sg-planner-workbench .brand strong {
  font-size: 18px;
}#sg-planner-workbench .main-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}#sg-planner-workbench .nav-link,
#sg-planner-workbench .primary-action,
#sg-planner-workbench .secondary-action,
#sg-planner-workbench .model-button {
  min-height: 40px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  text-decoration: none;
}#sg-planner-workbench .nav-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
}#sg-planner-workbench .nav-link.is-active,
#sg-planner-workbench .primary-action {
  border-color: var(--blue);
  background: var(--blue);
  color: white;
}#sg-planner-workbench .page {
  display: none;
  padding-top: 24px;
}#sg-planner-workbench .page.is-active {
  display: block;
}#sg-planner-workbench h1,
#sg-planner-workbench h2,
#sg-planner-workbench h3,
#sg-planner-workbench p {
  margin-top: 0;
}#sg-planner-workbench h1,
#sg-planner-workbench h2,
#sg-planner-workbench h3,
#sg-planner-workbench .brand strong,
#sg-planner-workbench .stat-tile strong,
#sg-planner-workbench .quote-total strong {
  font-family: Chivo, "Segoe UI", system-ui, sans-serif;
  font-weight: 900;
  text-wrap: balance;
}#sg-planner-workbench h1 {
  margin-bottom: 0;
  font-size: clamp(34px, 5.6vw, 64px);
  line-height: 0.96;
  letter-spacing: 0;
}#sg-planner-workbench h2 {
  margin-bottom: 0;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: 0;
}#sg-planner-workbench h3 {
  font-size: 20px;
  line-height: 1.15;
}#sg-planner-workbench .lead {
  max-width: 740px;
  font-size: 20px;
  line-height: 1.45;
  color: var(--muted);
}#sg-planner-workbench .home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 28px;
  align-items: center;
  min-height: 560px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}#sg-planner-workbench .hero-copy {
  display: grid;
  gap: 20px;
}#sg-planner-workbench .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}#sg-planner-workbench .primary-action,
#sg-planner-workbench .secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 16px;
}#sg-planner-workbench .secondary-action {
  background: white;
}#sg-planner-workbench .hero-visual {
  margin: 0;
  border: 1px solid var(--line);
  background: white;
  box-shadow: var(--shadow);
}#sg-planner-workbench .hero-visual img {
  display: block;
  width: 100%;
  height: auto;
}#sg-planner-workbench .home-grid,
#sg-planner-workbench .handoff-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}#sg-planner-workbench .home-grid article,
#sg-planner-workbench .handoff-grid article,
#sg-planner-workbench .result-panel,
#sg-planner-workbench .control-panel,
#sg-planner-workbench .product-sheet,
#sg-planner-workbench .model-rail,
#sg-planner-workbench .planner-masthead,
#sg-planner-workbench .planner-start,
#sg-planner-workbench .family-card,
#sg-planner-workbench .stage-card,
#sg-planner-workbench .note-band,
#sg-planner-workbench .commerce-plan {
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: var(--shadow);
}#sg-planner-workbench .home-grid article,
#sg-planner-workbench .handoff-grid article {
  padding: 18px;
}#sg-planner-workbench .home-grid p,
#sg-planner-workbench .handoff-grid p,
#sg-planner-workbench .plain-note,
#sg-planner-workbench .commerce-plan p {
  color: var(--muted);
}#sg-planner-workbench .step {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 18px;
  background: var(--soft-blue);
  color: var(--blue);
  font-weight: 800;
}#sg-planner-workbench .section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}#sg-planner-workbench .plain-note {
  max-width: 500px;
  margin-bottom: 0;
}#sg-planner-workbench .work-grid {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}#sg-planner-workbench .planner-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 18px;
  padding: 28px;
  background: var(--soft-blue);
}#sg-planner-workbench .planner-masthead h1 span {
  color: var(--blue);
}#sg-planner-workbench .planner-masthead .lead {
  margin-top: 18px;
}#sg-planner-workbench .kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
}#sg-planner-workbench .kpis div {
  min-height: 110px;
  padding: 16px;
  background: white;
}#sg-planner-workbench .kpis b {
  display: block;
  margin-bottom: 7px;
  font-size: 28px;
  line-height: 1;
}#sg-planner-workbench .kpis span {
  color: var(--muted);
}#sg-planner-workbench .family-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 18px;
}#sg-planner-workbench .family-card {
  padding: 18px;
}#sg-planner-workbench .family-card p:not(.eyebrow) {
  color: var(--muted);
}#sg-planner-workbench .pro-family {
  border-color: rgba(15, 122, 181, 0.36);
}#sg-planner-workbench .standard-family {
  border-color: rgba(75, 159, 56, 0.3);
}#sg-planner-workbench .wire-row {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}#sg-planner-workbench .wire {
  width: 44px;
  height: 10px;
  border: 1px solid var(--line);
}#sg-planner-workbench .wire.red {
  background: #cf3b34;
}#sg-planner-workbench .wire.white {
  background: #ffffff;
}#sg-planner-workbench .wire.blue {
  background: #2f6fd0;
}#sg-planner-workbench .wire.black {
  background: #242424;
}#sg-planner-workbench .planner-start {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  margin-bottom: 18px;
  padding: 18px;
}#sg-planner-workbench .planner-start p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}#sg-planner-workbench .planner-picker {
  display: grid;
  gap: 12px;
}#sg-planner-workbench .picker-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  background: #fafdff;
}#sg-planner-workbench .planner-products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}#sg-planner-workbench .planner-product {
  display: grid;
  gap: 8px;
  min-height: 104px;
  padding: 12px;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}#sg-planner-workbench .planner-product.is-active {
  border-color: var(--blue);
  background: var(--soft-blue);
}#sg-planner-workbench .planner-product:hover,
#sg-planner-workbench .model-button:hover,
#sg-planner-workbench .nav-link:hover,
#sg-planner-workbench .secondary-action:hover {
  border-color: #94b9cf;
  background: #fafdff;
}#sg-planner-workbench .planner-product strong {
  font-size: 18px;
}#sg-planner-workbench .planner-product span {
  font-size: 13px;
  line-height: 1.25;
  color: var(--muted);
}#sg-planner-workbench .planner-product small {
  width: fit-content;
  padding: 4px 7px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 11px;
}#sg-planner-workbench .planner-product.is-pro small {
  border-color: rgba(15, 122, 181, 0.28);
  color: var(--blue);
}#sg-planner-workbench .planner-product.is-standard small {
  border-color: rgba(75, 159, 56, 0.28);
  color: #2f6e23;
}#sg-planner-workbench .stage-card {
  margin-bottom: 18px;
  overflow: hidden;
  background: var(--night);
  border-color: var(--night-line);
  color: var(--night-ink);
}#sg-planner-workbench .stage-card .eyebrow {
  color: var(--night-accent);
}#sg-planner-workbench .stage-card h2 {
  color: var(--night-ink);
}
#sg-planner-workbench .protection-preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid #cbdce7;
  border-radius: 10px;
  background: #f4f8fb;
}
#sg-planner-workbench .protection-preview[hidden] { display: none; }

#sg-planner-workbench .planner-cable-choice { padding: 14px; border: 1px solid #bbd1dc; border-radius: 8px; background: #f0f6f9; min-width: 0; }
#sg-planner-workbench .planner-cable-choice select { width: 100%; min-width: 0; }
#sg-planner-workbench .planner-cable-choice small { color: #405968; font-weight: 400; line-height: 1.5; }
#sg-planner-workbench .protection-preview img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; border-radius: 7px; background: white; }
#sg-planner-workbench .protection-preview h3 { margin: 0 0 6px; font-size: 1rem; line-height: 1.35; }
#sg-planner-workbench .protection-preview p { margin: 0 0 8px; font-size: .9rem; line-height: 1.45; }
#sg-planner-workbench .protection-preview .protection-price { color: #52667a; }
#sg-planner-workbench .protection-preview a { color: #135e98; text-decoration: underline; text-underline-offset: 3px; font-size: .9rem; }
#sg-planner-workbench .pressure-fixing-preview {
  display: grid;
  grid-template-columns: minmax(80px, 112px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid #cbdce7;
  border-radius: 10px;
  background: #f4f8fb;
}
#sg-planner-workbench .pressure-fixing-preview[hidden] { display: none; }
#sg-planner-workbench .pressure-fixing-preview img { display: block; width: 100%; height: 112px; object-fit: contain; border-radius: 7px; background: white; }
#sg-planner-workbench .pressure-fixing-preview h3 { margin: 0 0 6px; font-size: 1rem; line-height: 1.35; }
#sg-planner-workbench .pressure-fixing-preview p { margin: 0 0 8px; font-size: .9rem; line-height: 1.45; }
#sg-planner-workbench .pressure-fixing-preview .pressure-fixing-price { color: #52667a; }
#sg-planner-workbench .pressure-fixing-preview a { color: #135e98; text-decoration: underline; text-underline-offset: 3px; font-size: .9rem; }
@media (max-width: 420px) {
  #sg-planner-workbench .pressure-fixing-preview { grid-template-columns: 1fr; }
  #sg-planner-workbench .pressure-fixing-preview img { width: 112px; }
}
#sg-planner-workbench .divider-tools {
  padding: 1rem 1.3rem;
  border-top: 1px solid #dbe4eb;
  border-bottom: 1px solid #dbe4eb;
  background: #f4f8fb;
}
#sg-planner-workbench .divider-tools p { margin: 0 0 .5rem; }
#sg-planner-workbench .divider-tools small { display: block; color: #52667a; line-height: 1.5; }
#sg-planner-workbench .divider-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin: .6rem 0; }
#sg-planner-workbench .divider-actions button {
  padding: .55rem .8rem;
  border: 1px solid #a7bace;
  border-radius: .5rem;
  background: white;
  color: #173b5d;
  font: inherit;
  cursor: pointer;
}
#sg-planner-workbench .divider-actions button:disabled { opacity: .55; cursor: default; }
#sg-planner-workbench .divider-actions button[hidden] { display: none; }
#sg-planner-workbench .cage-divider-control { fill: transparent; stroke: transparent; pointer-events: all; cursor: pointer; }
#sg-planner-workbench .cage-divider-control:hover { fill: #1470bb; fill-opacity: .08; }
#sg-planner-workbench .cage-divider-control:focus { outline: none; }
#sg-planner-workbench .cage-divider-control:focus-visible { stroke: #cf6600; stroke-width: 3px; vector-effect: non-scaling-stroke; }
#sg-planner-workbench .planner-quality-notes { color: #51461f; background: #fff9e8; padding: .8rem; border-radius: .45rem; }
#sg-planner-workbench .planner-quality-notes p:last-child { margin-bottom: 0; }
#sg-planner-workbench .stage-head,
#sg-planner-workbench .stage-foot {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
}#sg-planner-workbench .stage-head {
  align-items: end;
  border-bottom: 1px solid var(--night-line);
}#sg-planner-workbench .stage-head p,
#sg-planner-workbench .stage-foot {
  color: var(--night-muted);
}#sg-planner-workbench .stage-foot {
  border-top: 1px solid var(--night-line);
  font-size: 14px;
}#sg-planner-workbench .planner-grid {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}#sg-planner-workbench .control-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 18px;
}#sg-planner-workbench label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  color: var(--muted);
}#sg-planner-workbench .wide-field {
  grid-column: 1 / -1;
}#sg-planner-workbench .secondary-config {
  display: none;
  grid-column: 1 / -1;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 8px 0 0;
  padding: 16px;
  border: 1px solid var(--line);
  background: #fafdff;
}#sg-planner-workbench .control-panel.is-multi .secondary-config {
  display: grid;
}#sg-planner-workbench .secondary-config legend {
  padding: 0 7px;
  color: var(--blue);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}#sg-planner-workbench input,
#sg-planner-workbench select,
#sg-planner-workbench textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: 8px 10px;
  background: white;
  color: var(--ink);
}#sg-planner-workbench textarea {
  min-height: 78px;
  resize: vertical;
}#sg-planner-workbench .result-panel {
  padding: 18px;
}#sg-planner-workbench .quote-toolbar {
  display: grid;
  grid-template-columns: 1fr 1fr minmax(150px, auto);
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  background: #fafdff;
}#sg-planner-workbench .quote-toolbar .wide-field {
  grid-column: 1 / 3;
}#sg-planner-workbench .quote-print-button {
  width: 100%;
  min-height: 46px;
}#sg-planner-workbench .print-quote-head,
#sg-planner-workbench .print-notes,
#sg-planner-workbench .print-3d-snapshot {
  display: none;
}#sg-planner-workbench .cage-3d-card {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
}#sg-planner-workbench .cage-3d-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}#sg-planner-workbench .cage-3d-head h2 {
  color: var(--ink);
  font-size: 22px;
}#sg-planner-workbench .cage-3d-head p:last-child {
  margin: 0;
  color: var(--muted);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 13px;
  text-align: right;
}#sg-planner-workbench #cage3dCanvas {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8.7;
  min-height: 260px;
  border: 1px solid var(--line);
  background: #eef6fa;
  cursor: grab;
}#sg-planner-workbench #cage3dCanvas:active {
  cursor: grabbing;
}#sg-planner-workbench .result-hero {
  display: grid;
  grid-template-columns: minmax(160px, 220px);
  gap: 14px;
  margin-bottom: 18px;
}#sg-planner-workbench .result-hero > div {
  min-height: 126px;
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--soft-blue);
}#sg-planner-workbench .metric-label {
  margin-bottom: 10px;
  font-size: 12px;
  color: var(--muted);
}#sg-planner-workbench .metric,
#sg-planner-workbench .price {
  margin: 0;
  font-size: 48px;
  line-height: 0.95;
  font-weight: 800;
}#sg-planner-workbench .price {
  font-size: 32px;
}#sg-planner-workbench .metric-sub {
  margin: 6px 0 0;
  color: var(--muted);
}#sg-planner-workbench .wall {
  min-height: 360px;
  padding: 18px;
  background:
    radial-gradient(ellipse 70% 55% at 50% 8%, rgba(120, 170, 205, 0.14), transparent 70%),
    linear-gradient(180deg, #0e1c25 0%, #0a141b 100%);
  overflow: auto;
}#sg-planner-workbench .scene {
  display: block;
  width: 100%;
  height: auto;
  max-height: 66vh;
  min-width: 760px;
}#sg-planner-workbench .scene-mesh,
#sg-planner-workbench .scene-mesh-soft {
  stroke: rgba(173, 200, 214, 0.30);
  stroke-width: 1;
  fill: none;
}#sg-planner-workbench .scene-mesh-soft {
  stroke: rgba(173, 200, 214, 0.14);
}#sg-planner-workbench .scene-cage-fill {
  fill-opacity: 1;
}#sg-planner-workbench .scene-frame,
#sg-planner-workbench .scene-divider,
#sg-planner-workbench .scene-dim {
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-frame {
  fill: none;
  stroke: #8fa9b8;
  stroke-width: 4;
}#sg-planner-workbench .scene-divider {
  fill: none;
  stroke: #9db6c4;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}#sg-planner-workbench .scene-tray {
  fill: #16262f;
  stroke: #43606f;
  stroke-width: 2;
}#sg-planner-workbench .scene-cone {
  fill: url(#lightCone);
  mix-blend-mode: screen;
  pointer-events: none;
}#sg-planner-workbench .scene .cone-strong {
  stop-color: #fdfaf0;
  stop-opacity: 0.55;
}#sg-planner-workbench .scene .cone-fade {
  stop-color: #cfe4f2;
  stop-opacity: 0;
}#sg-planner-workbench .scene.pro .cone-strong {
  stop-color: #f4f9ff;
  stop-opacity: 0.58;
}#sg-planner-workbench .scene.pro .cone-fade {
  stop-color: #6ea8ff;
  stop-opacity: 0.05;
}#sg-planner-workbench .scene-bar {
  fill: url(#barMetal);
  stroke: #48606e;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-protection {
  fill: rgba(213, 226, 235, 0.5);
  stroke: #7f96a4;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-fixing-dot {
  fill: #6b7f8b;
  stroke: #edf6fb;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-fixing-spring {
  fill: none;
  stroke: #6b7f8b;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-led-white {
  fill: #fff1c2;
  stroke: #ffffff;
  stroke-width: 2;
}#sg-planner-workbench .scene-led-blue {
  fill: #7fb4ff;
  stroke: #cfe3ff;
  stroke-width: 1.5;
}#sg-planner-workbench .scene-cable {
  fill: none;
  stroke: #6f8b9b;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-cable.is-short {
  stroke: #b56b10;
  stroke-dasharray: 13 9;
}#sg-planner-workbench .scene-cable.output-1 {
  stroke: #a985cc;
}#sg-planner-workbench .scene-vertical-feed {
  stroke-width: 4;
}#sg-planner-workbench .scene-row-feed {
  stroke-width: 3.2;
}#sg-planner-workbench .scene-main-feed {
  stroke-width: 4.5;
}#sg-planner-workbench .scene-power-supply rect {
  fill: #f4f8fb;
  stroke: #9fb7c4;
  stroke-width: 2;
}#sg-planner-workbench .scene-power-supply text {
  fill: #243b47;
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 15px;
  font-weight: 700;
}#sg-planner-workbench .scene-power-supply .scene-power-input {
  fill: #dbe8ef;
  font-size: 18px;
}#sg-planner-workbench .scene-power-plug {
  fill: none;
  stroke: #d8e4eb;
  stroke-width: 3;
  stroke-linecap: round;
}#sg-planner-workbench .scene-psu-lead {
  fill: none;
  stroke: #d8e4eb;
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}#sg-planner-workbench .scene-output-lead.output-1 {
  stroke: #a985cc;
}#sg-planner-workbench .wall.has-highlight [data-highlight].is-muted {
  opacity: 0.18;
}#sg-planner-workbench .wall.has-highlight [data-highlight].is-highlighted {
  opacity: 1;
  filter: drop-shadow(0 0 8px rgba(15, 122, 181, 0.72));
}#sg-planner-workbench .wall.has-highlight .scene-cable.is-highlighted,
#sg-planner-workbench .wall.has-highlight .scene-bar.is-highlighted,
#sg-planner-workbench .wall.has-highlight .scene-protection.is-highlighted {
  stroke-width: 6;
}#sg-planner-workbench .scene-controller-image {
  filter:
    drop-shadow(0 18px 30px rgba(0, 0, 0, 0.55))
    brightness(0.82)
    saturate(0.9);
}#sg-planner-workbench .scene-bird {
  opacity: 0.62;
  filter: brightness(0.78) saturate(0.72) contrast(0.92);
  pointer-events: none;
}#sg-planner-workbench .scene-bird-perch {
  stroke: #6d5738;
  stroke-width: 3;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-bar-label,
#sg-planner-workbench .scene-cable-label {
  fill: #dbe8ef;
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: 0;
  paint-order: stroke;
  stroke: rgba(250, 253, 255, 0.88);
  stroke-width: 4px;
}#sg-planner-workbench .scene-cable-label {
  fill: #006f86;
  font-size: 30px;
}#sg-planner-workbench .scene-diverter rect,
#sg-planner-workbench .scene-base-diverter rect {
  fill: #fafdff;
  stroke: #2d4350;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}#sg-planner-workbench .scene-diverter circle,
#sg-planner-workbench .scene-base-diverter circle {
  fill: #0f7ab5;
  stroke: #ffffff;
  stroke-width: 1.5;
}#sg-planner-workbench .scene.standard .scene-diverter circle,
#sg-planner-workbench .scene.standard .scene-base-diverter circle {
  fill: #4b9f38;
}#sg-planner-workbench .scene-diverter text,
#sg-planner-workbench .scene-base-diverter text {
  fill: #13212c;
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
}#sg-planner-workbench .scene-controller {
  fill: #0f1a22;
  stroke: #304653;
  stroke-width: 3;
}#sg-planner-workbench .scene-controller-title {
  fill: #edf6fb;
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-weight: 800;
  letter-spacing: 0;
}#sg-planner-workbench .scene-label,
#sg-planner-workbench .scene-model-label {
  fill: #91a8b5;
  font-family: "IBM Plex Mono", Consolas, monospace;
  letter-spacing: 0;
}#sg-planner-workbench .scene-model-label {
  fill: #e9f1f5;
  font-weight: 800;
}#sg-planner-workbench .scene-dim {
  stroke: #8fa2ae;
  stroke-width: 2;
  stroke-dasharray: 8 7;
}#sg-planner-workbench .result-list,
#sg-planner-workbench .spec-grid,
#sg-planner-workbench .code-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--line);
  border: 1px solid var(--line);
}#sg-planner-workbench .result-list div,
#sg-planner-workbench .spec-grid div,
#sg-planner-workbench .code-panel div {
  min-height: 86px;
  padding: 12px;
  background: var(--panel);
}#sg-planner-workbench dt {
  margin-bottom: 8px;
  font-size: 12px;
  color: var(--muted);
}#sg-planner-workbench dd {
  margin: 0;
  font-weight: 800;
}#sg-planner-workbench .quote-adjustments {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--line);
  background: #fafdff;
}#sg-planner-workbench .quote-adjust-head {
  display: grid;
  grid-template-columns: minmax(180px, 0.65fr) minmax(0, 1fr);
  gap: 18px;
  align-items: end;
}#sg-planner-workbench .quote-adjust-head h2,
#sg-planner-workbench .price-adjust-box h3 {
  font-size: 18px;
}#sg-planner-workbench .quote-adjust-head p:last-child {
  margin: 0;
  color: var(--muted);
}#sg-planner-workbench .psu-adjust-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
}#sg-planner-workbench .psu-adjust-list label,
#sg-planner-workbench .price-adjust-box label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}#sg-planner-workbench .psu-adjust-list small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}#sg-planner-workbench .price-adjust-box {
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}#sg-planner-workbench .price-adjust-box > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}#sg-planner-workbench .selected-price-row {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  background: white;
}#sg-planner-workbench .selected-price-row span,
#sg-planner-workbench .price-adjust-box output {
  color: var(--muted);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 12px;
}#sg-planner-workbench .selected-price-row strong {
  font-size: 16px;
}#sg-planner-workbench .quote-adjust-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}#sg-planner-workbench .quote-adjust-actions button,
#sg-planner-workbench .price-adjust-box > div:first-child button {
  min-height: 38px;
}#sg-planner-workbench .danger-action {
  border: 1px solid #b44a32;
  background: #fff4f0;
  color: #913521;
}#sg-planner-workbench .danger-action:hover,
#sg-planner-workbench .danger-action:focus-visible {
  background: #ffe4dc;
}#sg-planner-workbench .deleted-note {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #d8c5a8;
  background: #fff8e8;
  color: #7b5a23;
  font-size: 13px;
  font-weight: 800;
}#sg-planner-workbench .note-band {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  padding: 16px;
  background: var(--soft-amber);
}#sg-planner-workbench .product-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 18px;
}#sg-planner-workbench .product-page {
  background: #ffffff;
}#sg-planner-workbench .product-season-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
  padding: 15px 18px;
  background: #14344b;
  color: white;
}#sg-planner-workbench .product-season-bar span {
  font-family: Chivo, "Segoe UI", system-ui, sans-serif;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}#sg-planner-workbench .product-season-bar strong {
  font-size: 14px;
  font-weight: 700;
  color: #d8e9ef;
}#sg-planner-workbench .product-section-head {
  border-bottom: 1px solid var(--line);
  padding-bottom: 22px;
}#sg-planner-workbench .model-rail {
  padding: 10px;
}#sg-planner-workbench .model-rail > div {
  display: grid;
  gap: 8px;
}#sg-planner-workbench .model-button {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 12px;
  text-align: left;
  cursor: pointer;
}#sg-planner-workbench .model-button.is-active {
  border-color: var(--blue);
  background: var(--soft-blue);
}#sg-planner-workbench .model-button strong {
  font-size: 16px;
}#sg-planner-workbench .model-button small {
  color: var(--muted);
}#sg-planner-workbench .product-sheet {
  padding: 0;
  border: 0;
  background: transparent;
}#sg-planner-workbench .product-top {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
  gap: 30px;
  align-items: start;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--panel);
}#sg-planner-workbench .product-photo-slot {
  margin: 0;
  min-height: 360px;
  border: 1px solid var(--line);
  background: #f8fbfd;
  display: grid;
  grid-template-rows: minmax(280px, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 20px;
}#sg-planner-workbench .product-photo-slot img {
  display: block;
  width: 100%;
  max-height: 350px;
  object-fit: contain;
}#sg-planner-workbench .product-photo-slot figcaption {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  font-size: 12px;
  color: var(--muted);
}#sg-planner-workbench .product-photo-slot figcaption strong {
  color: var(--ink);
}#sg-planner-workbench .product-photo-slot.is-missing {
  min-height: 300px;
  background: var(--soft-amber);
}#sg-planner-workbench .product-photo-slot.is-missing::before {
  content: "Foto prodotto da completare";
  color: var(--amber);
  font-weight: 800;
}#sg-planner-workbench .product-photo-slot.is-missing figcaption {
  border-top: 0;
}#sg-planner-workbench .photo-note {
  margin-top: 14px;
  padding: 11px 13px;
  border-left: 3px solid var(--amber);
  background: #fff7ed;
  color: #7b4316;
  font-size: 14px;
}#sg-planner-workbench .product-buy-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 22px;
}#sg-planner-workbench .product-buy-actions .primary-action,
#sg-planner-workbench .product-buy-actions .secondary-action {
  min-height: 48px;
}#sg-planner-workbench .product-reassure {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--line);
  list-style: none;
}#sg-planner-workbench .product-reassure li {
  position: relative;
  padding-left: 22px;
  color: var(--muted);
}#sg-planner-workbench .product-reassure li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 12px;
  height: 2px;
  background: var(--green);
}#sg-planner-workbench .product-install-card {
  margin-top: 18px;
  padding: 20px;
  border: 1px solid var(--line);
  background: #ffffff;
  display: grid;
  gap: 18px;
}#sg-planner-workbench .product-install-copy {
  display: grid;
  gap: 8px;
}#sg-planner-workbench .product-install-copy p:not(.eyebrow) {
  color: var(--muted);
  max-width: 760px;
}#sg-planner-workbench #productLayoutScene {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  background: white;
}#sg-planner-workbench .install-title {
  fill: var(--ink);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 16px;
  font-weight: 800;
}#sg-planner-workbench .install-label,
#sg-planner-workbench .install-small,
#sg-planner-workbench .install-note {
  fill: #5d6d78;
  font-family: "IBM Plex Mono", Consolas, monospace;
}#sg-planner-workbench .install-label {
  font-size: 14px;
  font-weight: 700;
}#sg-planner-workbench .install-small {
  font-size: 12px;
  font-weight: 700;
}#sg-planner-workbench .install-note {
  font-size: 13px;
}#sg-planner-workbench .layout-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
}#sg-planner-workbench .layout-cards article {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  background: #ffffff;
}#sg-planner-workbench .layout-cards strong {
  font-family: Chivo, "Segoe UI", system-ui, sans-serif;
  font-size: 15px;
}#sg-planner-workbench .layout-cards span {
  color: var(--muted);
  font-size: 14px;
}#sg-planner-workbench .product-scale-card {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  background: #f8fbfd;
  display: grid;
  gap: 18px;
}#sg-planner-workbench .product-scale-card p:not(.eyebrow) {
  max-width: 780px;
  margin: 0;
  color: var(--muted);
}#sg-planner-workbench .scale-strip {
  display: grid;
  gap: 8px;
}#sg-planner-workbench .scale-item {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}#sg-planner-workbench .scale-item.is-active {
  border-color: var(--blue);
  background: var(--soft-blue);
}#sg-planner-workbench .scale-item.is-warning {
  border-left: 3px solid var(--amber);
}#sg-planner-workbench .scale-meta {
  display: grid;
  gap: 2px;
}#sg-planner-workbench .scale-meta strong {
  font-family: "IBM Plex Mono", Consolas, monospace;
}#sg-planner-workbench .scale-meta small {
  color: var(--muted);
}#sg-planner-workbench .scale-track {
  display: flex;
  align-items: center;
  min-height: 28px;
  border-left: 1px dashed #c5d4dd;
  padding-left: 10px;
}#sg-planner-workbench .scale-track img {
  display: block;
  height: 26px;
  min-width: 38px;
  object-fit: fill;
}#sg-planner-workbench .scale-bar {
  display: block;
  height: 18px;
  min-width: 38px;
  background: linear-gradient(90deg, #dce7ed, #92aaba);
  border: 1px solid #7d96a6;
}#sg-planner-workbench .product-family-columns {
  margin-top: 18px;
}#sg-planner-workbench .commerce-plan .secondary-action {
  margin-top: 14px;
}#sg-planner-workbench .content-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 22px;
}#sg-planner-workbench .content-columns section,
#sg-planner-workbench .commerce-plan {
  border-top: 1px solid var(--line);
  padding-top: 18px;
}#sg-planner-workbench .check-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
}#sg-planner-workbench .code-panel {
  margin-top: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}#sg-planner-workbench .quote-summary {
  margin-top: 18px;
  border: 1px solid var(--line);
  background: white;
}#sg-planner-workbench .quote-summary h2 {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  font-size: 20px;
}#sg-planner-workbench .quote-summary div {
  display: grid;
}#sg-planner-workbench .bom-table {
  display: grid;
  overflow-x: auto;
}#sg-planner-workbench .bom-head,
#sg-planner-workbench .bom-row {
  display: grid;
  grid-template-columns: minmax(92px, 0.65fr) minmax(210px, 1.45fr) minmax(58px, 0.4fr) minmax(170px, 1.1fr) minmax(120px, 0.85fr) minmax(126px, 0.85fr) minmax(126px, 0.85fr);
  min-width: 1080px;
}#sg-planner-workbench .bom-head {
  border-bottom: 1px solid var(--line);
  background: #fafdff;
  color: var(--muted);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}#sg-planner-workbench .bom-head span,
#sg-planner-workbench .bom-row span {
  min-width: 0;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
  overflow-wrap: anywhere;
}#sg-planner-workbench .bom-head span:last-child,
#sg-planner-workbench .bom-row span:last-child {
  border-right: 0;
}#sg-planner-workbench .bom-row {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: white;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}#sg-planner-workbench .bom-row:last-child {
  border-bottom: 0;
}#sg-planner-workbench .bom-row:hover,
#sg-planner-workbench .bom-row.is-active {
  background: var(--soft-blue);
}#sg-planner-workbench .bom-row.is-active {
  box-shadow: inset 4px 0 0 var(--blue);
}#sg-planner-workbench .bom-row span:nth-child(3) {
  font-weight: 800;
}#sg-planner-workbench .quote-total {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
  background: var(--soft-green);
}#sg-planner-workbench .quote-total span {
  color: var(--muted);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 12px;
  text-transform: uppercase;
}#sg-planner-workbench .quote-total b {
  text-align: right;
  font-size: 18px;
}#sg-planner-workbench .summary-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
}#sg-planner-workbench .summary-line:last-child {
  border-bottom: 0;
}#sg-planner-workbench .summary-line span {
  color: var(--muted);
}#sg-planner-workbench .summary-line b {
  text-align: right;
}#sg-planner-workbench .commerce-plan {
  margin-top: 22px;
  padding: 18px;
  background: var(--soft-green);
}#sg-planner-workbench .table-wrap {
  margin-top: 18px;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: var(--panel);
}#sg-planner-workbench table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}#sg-planner-workbench caption {
  padding: 14px;
  text-align: left;
  font-weight: 800;
}#sg-planner-workbench th,
#sg-planner-workbench td {
  padding: 12px 14px;
  border-top: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}#sg-planner-workbench th {
  font-size: 12px;
  color: var(--muted);
}#sg-planner-workbench td code,
#sg-planner-workbench code {
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 0.94em;
}#sg-planner-workbench .issue-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}#sg-planner-workbench .issue {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--panel);
}#sg-planner-workbench .issue h2 {
  margin-bottom: 0;
  font-size: 17px;
}#sg-planner-workbench .issue p {
  margin-bottom: 6px;
  color: var(--muted);
}#sg-planner-workbench pre {
  max-height: 420px;
  overflow: auto;
  margin: 18px 0 0;
  padding: 18px;
  border: 1px solid var(--line);
  background: #0f1a22;
  color: #edf6fb;
  font: 13px/1.5 "IBM Plex Mono", Consolas, monospace;
  white-space: pre-wrap;
}#sg-planner-workbench .quote-document-mount {
  display: none;
}body.sg-planner-page.quote-document-mode {
  background: #eef4f7;
}body.sg-planner-page.quote-document-mode #planner {
  display: none;
}body.sg-planner-page.quote-document-mode .quote-document-mount {
  display: block;
}#sg-planner-workbench .quote-document-mount .actions {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
}#sg-planner-workbench .quote-document-mount .actions button {
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--blue);
  background: var(--blue);
  color: white;
  font-weight: 800;
  cursor: pointer;
}#sg-planner-workbench .quote-document-mount .actions button.secondary {
  border-color: var(--line);
  background: white;
  color: var(--ink);
}#sg-planner-workbench .quote-document-mount .sheet {
  width: 277mm;
  min-height: 190mm;
  margin: 10mm auto;
  padding: 12mm;
  background: white;
  box-shadow: 0 10px 40px rgba(19, 33, 44, 0.12);
  break-after: page;
  page-break-after: always;
}#sg-planner-workbench .quote-document-mount .sheet:last-child {
  break-after: auto;
  page-break-after: auto;
}#sg-planner-workbench .quote-document-mount header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 8mm;
  border-bottom: 2px solid var(--ink);
}#sg-planner-workbench .quote-document-mount h1 {
  font-size: 34px;
}#sg-planner-workbench .quote-document-mount h2 {
  margin-bottom: 6mm;
  font-size: 24px;
}#sg-planner-workbench .quote-document-mount h3 {
  font-size: 18px;
}#sg-planner-workbench .quote-document-mount p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}#sg-planner-workbench .quote-document-mount .meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 46%;
  margin: 0;
  border: 1px solid var(--line);
  background: var(--line);
  gap: 1px;
}#sg-planner-workbench .quote-document-mount .meta div {
  padding: 8px 10px;
  background: white;
}#sg-planner-workbench .quote-document-mount .hero-total {
  display: grid;
  grid-template-columns: 42mm minmax(0, 1fr);
  gap: 8mm;
  align-items: stretch;
  margin-top: 10mm;
}#sg-planner-workbench .quote-document-mount .total-box {
  padding: 9mm;
  background: var(--soft-blue);
  border: 1px solid var(--line);
}#sg-planner-workbench .quote-document-mount .total-box strong {
  display: block;
  font-family: Chivo, "Segoe UI", system-ui, sans-serif;
  font-size: 42px;
  line-height: 1;
}#sg-planner-workbench .quote-document-mount .summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
}#sg-planner-workbench .quote-document-mount .summary-grid div {
  min-height: 24mm;
  padding: 8px;
  background: white;
}#sg-planner-workbench .quote-document-mount .drawing {
  padding: 6mm;
  background: var(--night);
  border: 1px solid var(--night-line);
}#sg-planner-workbench .quote-document-mount .drawing svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 142mm;
}#sg-planner-workbench .quote-document-mount .three-d {
  display: block;
  width: 100%;
  max-height: 130mm;
  object-fit: contain;
  background: var(--night);
  border: 1px solid var(--night-line);
}#sg-planner-workbench .quote-document-mount table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
}#sg-planner-workbench .quote-document-mount th,
#sg-planner-workbench .quote-document-mount td {
  padding: 7px 8px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}#sg-planner-workbench .quote-document-mount th {
  background: #f3f8fb;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}#sg-planner-workbench .quote-document-mount td {
  font-size: 12px;
}#sg-planner-workbench .quote-document-mount .note {
  margin-top: 6mm;
  padding: 5mm;
  border: 1px solid var(--line);
  background: #fafdff;
  white-space: pre-wrap;
}#sg-planner-workbench .quote-document-mount .commercial-total {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 5mm;
  padding: 5mm;
  border: 1px solid #b9d5b0;
  background: var(--soft-green);
  font-weight: 800;
}#sg-planner-workbench .quote-document-mount .footer {
  margin-top: 6mm;
  color: var(--muted);
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 10px;
}@media print {@page {
    size: A4 landscape;
    margin: 10mm;
  }#sg-planner-workbench {
    --paper: #ffffff;
    --panel: #ffffff;
    --ink: #13212c;
    --muted: #526672;
    --line: #b9cbd5;
    --shadow: none;
  }#sg-planner-workbench,
#sg-planner-workbench {
    background: #ffffff !important;
    color: var(--ink) !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }#sg-planner-workbench {
    margin: 0;
  }#sg-planner-workbench .app-shell {
    width: auto;
    margin: 0;
    padding: 0;
  }body.sg-planner-page.quote-document-mode #planner {
    display: none !important;
  }body.sg-planner-page.quote-document-mode .quote-document-mount {
    display: block !important;
  }body.sg-planner-page.quote-document-mode .quote-document-mount .actions {
    display: none;
  }body.sg-planner-page.quote-document-mode .quote-document-mount .sheet {
    width: auto;
    min-height: auto;
    margin: 0;
    padding: 0;
    box-shadow: none;
  }#sg-planner-workbench .topbar,
#sg-planner-workbench .planner-masthead,
#sg-planner-workbench .family-strip,
#sg-planner-workbench .planner-start,
#sg-planner-workbench .control-panel,
#sg-planner-workbench .note-band,
#sg-planner-workbench .quote-toolbar,
#sg-planner-workbench .page:not(#planner) {
    display: none !important;
  }#sg-planner-workbench #planner.page {
    display: block !important;
    padding: 0;
  }#sg-planner-workbench .planner-grid {
    display: block;
  }#sg-planner-workbench .print-quote-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 8mm;
    padding-bottom: 5mm;
    border-bottom: 2px solid var(--ink);
  }#sg-planner-workbench .print-quote-head h2 {
    font-size: 30px;
    line-height: 1;
  }#sg-planner-workbench .print-quote-head p {
    margin-bottom: 0;
    color: var(--muted);
  }#sg-planner-workbench .print-quote-head dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(95px, 1fr));
    gap: 1px;
    min-width: 46%;
    margin: 0;
    border: 1px solid var(--line);
    background: var(--line);
  }#sg-planner-workbench .print-quote-head dl div {
    min-height: 58px;
    padding: 8px 10px;
    background: #ffffff;
  }#sg-planner-workbench .stage-card,
#sg-planner-workbench .result-panel,
#sg-planner-workbench .quote-summary,
#sg-planner-workbench .cage-3d-card {
    box-shadow: none;
  }#sg-planner-workbench .stage-card {
    margin-bottom: 6mm;
    background: var(--night) !important;
    border-color: var(--night-line);
    color: var(--night-ink);
    break-inside: avoid;
  }#sg-planner-workbench .stage-head,
#sg-planner-workbench .stage-foot {
    padding: 8px 10px;
  }#sg-planner-workbench .stage-head h2 {
    font-size: 24px;
  }#sg-planner-workbench .wall {
    min-height: 0;
    max-height: none;
    padding: 10px;
    overflow: visible;
    background:
      radial-gradient(ellipse 70% 55% at 50% 8%, rgba(120, 170, 205, 0.14), transparent 70%),
      linear-gradient(180deg, #0e1c25 0%, #0a141b 100%) !important;
  }#sg-planner-workbench .scene {
    width: 100%;
    min-width: 0;
    max-height: 128mm;
  }#sg-planner-workbench .result-panel {
    padding: 0;
    border: 0;
    background: transparent;
  }#sg-planner-workbench .result-hero {
    grid-template-columns: 38mm;
    margin-bottom: 4mm;
  }#sg-planner-workbench .result-hero > div {
    min-height: 28mm;
    padding: 10px;
    background: var(--soft-blue) !important;
  }#sg-planner-workbench .metric {
    font-size: 34px;
  }#sg-planner-workbench .result-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 6mm;
    break-inside: avoid;
  }#sg-planner-workbench .result-list div {
    min-height: 22mm;
    padding: 8px 10px;
  }#sg-planner-workbench .cage-3d-card {
    margin: 0 0 6mm;
    padding: 10px;
    background: #ffffff !important;
    break-inside: avoid;
  }#sg-planner-workbench .cage-3d-head h2 {
    font-size: 19px;
  }#sg-planner-workbench #cage3dCanvas {
    display: none;
  }#sg-planner-workbench .print-3d-snapshot {
    display: block;
    width: 100%;
    max-height: 115mm;
    object-fit: contain;
    border: 1px solid var(--line);
    background: #eef6fa;
  }#sg-planner-workbench .print-notes {
    display: block;
    margin: 0 0 6mm;
    padding: 10px 12px;
    border: 1px solid var(--line);
    background: #ffffff;
    break-inside: avoid;
  }#sg-planner-workbench .print-notes h2 {
    margin-bottom: 5px;
    font-size: 17px;
  }#sg-planner-workbench .print-notes p {
    margin: 0;
    white-space: pre-wrap;
    color: var(--muted);
  }#sg-planner-workbench .quote-summary {
    margin-top: 0;
    break-before: auto;
  }#sg-planner-workbench .quote-summary h2 {
    padding: 8px 10px;
    font-size: 18px;
  }#sg-planner-workbench .bom-table {
    overflow: visible;
  }#sg-planner-workbench .bom-head,
#sg-planner-workbench .bom-row {
    grid-template-columns: 19mm minmax(52mm, 1.35fr) 13mm minmax(38mm, 1fr) minmax(32mm, 0.8fr) 24mm 24mm;
    min-width: 0;
  }#sg-planner-workbench .bom-head {
    font-size: 8px;
  }#sg-planner-workbench .bom-head span,
#sg-planner-workbench .bom-row span {
    padding: 5px 6px;
    font-size: 10px;
  }#sg-planner-workbench .bom-row {
    break-inside: avoid;
    page-break-inside: avoid;
    cursor: default;
  }#sg-planner-workbench .bom-row:hover,
#sg-planner-workbench .bom-row.is-active {
    background: white;
  }#sg-planner-workbench .quote-total {
    padding: 8px 10px;
    background: var(--soft-green) !important;
  }#sg-planner-workbench a[href]::after {
    content: "";
  }
}@media (max-width: 980px) {#sg-planner-workbench .topbar,
#sg-planner-workbench .section-head,
#sg-planner-workbench .note-band {
    display: grid;
    justify-content: stretch;
  }#sg-planner-workbench .main-nav {
    justify-content: flex-start;
  }#sg-planner-workbench .language-control {
    max-width: 220px;
  }#sg-planner-workbench .home-hero,
#sg-planner-workbench .work-grid,
#sg-planner-workbench .planner-masthead,
#sg-planner-workbench .planner-start,
#sg-planner-workbench .family-strip,
#sg-planner-workbench .picker-filters,
#sg-planner-workbench .quote-toolbar,
#sg-planner-workbench .planner-grid,
#sg-planner-workbench .product-layout,
#sg-planner-workbench .product-top,
#sg-planner-workbench .content-columns {
    grid-template-columns: 1fr;
  }#sg-planner-workbench .quote-toolbar .wide-field {
    grid-column: 1;
  }#sg-planner-workbench .home-grid,
#sg-planner-workbench .handoff-grid,
#sg-planner-workbench .planner-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }#sg-planner-workbench .result-list,
#sg-planner-workbench .spec-grid,
#sg-planner-workbench .code-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }#sg-planner-workbench .scale-item {
    grid-template-columns: 1fr;
  }#sg-planner-workbench .layout-cards {
    grid-template-columns: 1fr;
  }#sg-planner-workbench .product-season-bar {
    align-items: flex-start;
    flex-direction: column;
  }#sg-planner-workbench .cage-3d-head {
    display: grid;
  }#sg-planner-workbench .cage-3d-head p:last-child {
    text-align: left;
  }
}@media (max-width: 580px) {#sg-planner-workbench .app-shell {
    width: min(100% - 20px, 1180px);
    padding-top: 10px;
  }#sg-planner-workbench h1 {
    font-size: 37px;
  }#sg-planner-workbench h2 {
    font-size: 25px;
  }#sg-planner-workbench .lead {
    font-size: 17px;
  }#sg-planner-workbench .control-panel,
#sg-planner-workbench .secondary-config,
#sg-planner-workbench .result-hero,
#sg-planner-workbench .result-list,
#sg-planner-workbench .spec-grid,
#sg-planner-workbench .code-panel,
#sg-planner-workbench .home-grid,
#sg-planner-workbench .handoff-grid,
#sg-planner-workbench .planner-products,
#sg-planner-workbench .issue {
    grid-template-columns: 1fr;
  }#sg-planner-workbench .metric,
#sg-planner-workbench .price {
    font-size: 34px;
  }
}

/* Integration with the shared Season Generator template. */
#sg-planner-workbench { width:min(1280px,calc(100% - 40px)); margin:0 auto; padding:20px 0 52px; font-family:Karla,Arial,sans-serif; color:var(--ink); }
#sg-planner-workbench section { padding-top:0; padding-bottom:0; }
#sg-planner-workbench #planner { padding-top:12px; }
#sg-planner-workbench .planner-masthead { display:block; margin-bottom:20px; padding:0; border:0; background:transparent; }
#sg-planner-workbench .planner-masthead h1 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.08; margin:8px 0 14px; }
#sg-planner-workbench .planner-masthead h1 br { display:none; }
#sg-planner-workbench .planner-masthead h1 span { display:block; font-size:.65em; margin-top:8px; }
#sg-planner-workbench .planner-masthead .lead { max-width:78ch; font-size:1.0625rem; }
#sg-planner-workbench .planner-start { padding:22px; }
#sg-planner-workbench .planner-help { margin:14px 0 22px; }
#sg-planner-workbench .planner-help summary { font-weight:700; cursor:pointer; padding:10px 0; }
#sg-planner-workbench .family-strip { margin:10px 0 0; }
#sg-planner-workbench .stage-card { padding:20px; }
#sg-planner-workbench .quote-adjustments,#sg-planner-workbench .cage-3d-card { padding:18px; }
#sg-planner-workbench .control-panel label,#sg-planner-workbench .picker-filters label,#sg-planner-workbench .quote-toolbar label { font-size:.875rem; }
#sg-planner-workbench .quote-document-mount .sheet { max-width:100%; }
body.sg-planner-page.quote-document-mode > header,body.sg-planner-page.quote-document-mode > footer,body.sg-planner-page.quote-document-mode > .sg-preview { display:none; }
body.sg-planner-page.quote-document-mode #sg-planner-workbench { width:100%; padding:0; }
body.sg-planner-page.quote-document-mode #sg-planner-workbench .quote-document-mount { display:block; }
@media (max-width:620px) {
  #sg-planner-workbench { width:calc(100% - 24px); }
  #sg-planner-workbench .planner-start,#sg-planner-workbench .stage-card { padding:14px; }
  #sg-planner-workbench .quote-document-mount .sheet { padding:16px; margin:12px auto; width:100%; min-height:0; }
  #sg-planner-workbench .quote-document-mount header { display:block; }
  #sg-planner-workbench .quote-document-mount .hero-total { grid-template-columns:1fr; }
}
@media print {
  body.sg-planner-page > header,body.sg-planner-page > footer,body.sg-planner-page > .sg-preview { display:none !important; }
  #sg-planner-workbench { width:100%; padding:0; }
  #sg-planner-workbench .planner-help { display:none; }
  #sg-planner-workbench .quote-document-mount .sheet { break-after:page; }
  #sg-planner-workbench .quote-document-mount .sheet:last-child { break-after:auto; }
  body.sg-planner-page.quote-document-mode #sg-planner-workbench .quote-document-mount .actions { display:none !important; }
  body.sg-planner-page.quote-document-mode #sg-planner-workbench .quote-document-mount .sheet { width:auto; min-height:0; margin:0; padding:0; box-shadow:none; }
}

#sg-planner-workbench #plannerValidation { padding:14px; border-left:4px solid #b56b10; background:#fff4df; margin-bottom:16px; }
#sg-planner-workbench #plannerValidation[hidden] { display:none; }
#sg-planner-workbench #plannerValidation p { margin:6px 0; color:#68400b; }
#sg-planner-workbench button:disabled { opacity:.55; cursor:not-allowed; }
#sg-planner-workbench .planner-drawing-note { color:var(--night-muted); margin:12px 0 0; font-size:.875rem; }
#sg-planner-workbench .quote-document-mount .meta,#sg-planner-workbench .quote-document-mount .note { overflow-wrap:anywhere; }

/* The scope of the estimate stays visible and separate from editable notes. */
#sg-planner-workbench .planner-estimate-notice { margin: 0 0 24px; padding: 20px 24px; background: #f0f6f9; border: 1px solid #ccdce5; border-left: 4px solid #197398; border-radius: 8px; }
#sg-planner-workbench .planner-estimate-notice h2 { margin: 0 0 10px; font-size: 1.25rem; }
#sg-planner-workbench .planner-estimate-notice p { max-width: 105ch; margin: 8px 0; line-height: 1.55; color: #324b59; font-size: .95rem; }
#sg-planner-workbench .planner-estimate-notice .planner-estimate-legal { font-size: .85rem; }
#sg-planner-workbench .planner-estimate-covers { padding-top: 12px; border-top: 1px solid #ccdce5; font-weight: 700; }
#sg-planner-workbench .quote-estimate-reminder { grid-column: 1 / -1; margin: 0; font-size: .875rem; }
@media(max-width:620px) { #sg-planner-workbench .planner-estimate-notice { padding: 16px; } }

/* Independent WIDE24 combinations for each battery. */
#sg-planner-workbench .wide24-controls { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 16px 0; padding: 14px; min-width: 0; border: 1px solid #bbd1dc; border-radius: 8px; background: #fff; }
#sg-planner-workbench .wide24-controls legend { padding: 0 6px; font-size: .85rem; font-weight: 700; }
#sg-planner-workbench .wide24-controls label { display: grid; gap: 6px; min-width: 0; }
#sg-planner-workbench .wide24-controls select { width: 100%; min-width: 0; }
#sg-planner-workbench .protection-preview [data-wide24-summary] { line-height: 1.5; overflow-wrap: anywhere; }
#sg-planner-workbench .protection-preview[hidden] { display: none; }

/* Shared actions for saving the complete planned system to its quotation cart. */
#sg-planner-workbench .quote-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#sg-planner-workbench .quote-toolbar .wide-field { grid-column: 1 / -1; }
#sg-planner-workbench .planner-cart-actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
}
#sg-planner-workbench .planner-cart-actions button { min-height: 48px; }
#sg-planner-workbench .planner-cart-actions .quote-print-button { margin: 0; width: auto; }
#sg-planner-workbench .planner-cart-link {
  color: #146f98; font-weight: 700; text-underline-offset: 4px;
  padding: 12px 0;
}
#sg-planner-workbench .planner-cart-link.is-ready { color: #246342; }
#sg-planner-workbench .planner-cart-status { margin: 0; color: #246342; font-weight: 600; }
#sg-planner-workbench .planner-cart-status:empty { display: none; }
#sg-planner-workbench .planner-cart-status.is-error { color: #a23b22; }
#sg-planner-workbench .planner-cart-bottom { padding-top: 22px; }
#sg-planner-workbench .planner-cart-note { font-size: .9rem; color: #566d7b; line-height: 1.6; }
@media (max-width: 600px) {
  #sg-planner-workbench .quote-toolbar { grid-template-columns: 1fr; }
  #sg-planner-workbench .planner-cart-actions { align-items: stretch; flex-direction: column; }
  #sg-planner-workbench .planner-cart-actions button { width: 100%; }
}
@media print {
  #sg-planner-workbench .planner-cart-actions,
  #sg-planner-workbench .planner-cart-status,
  #sg-planner-workbench .planner-cart-note { display: none !important; }
}
