/* Inputs bar and input tabs (CMP 3.0, stage 3 — 19.10.26). See static/inputs-tabs.js. */

/* The side panels now live on the Inputs tabs, so the main column takes the full width
   and the panel show/hide buttons go. */
body.cmp3-tabs #mainColumn { flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; }
body.cmp3-tabs .panel-toggle-pill { display: none !important; }

/* One thing at a time: the inputs page or the results. */
#graphPlaceholder.cmp3-inputs-mode > :not(#cmp3Top):not(#planSummaryPanel):not(#inputsBar):not(.cmp3-rvline):not(#inputsPane) { display: none !important; }
#graphPlaceholder:not(.cmp3-inputs-mode) > #inputsPane { display: none !important; }
#graphPlaceholder.cmp3-inputs-mode #resultsViewBar button.rv-on { background: transparent; color: #33352d; box-shadow: none; }

/* Bars */
.cmp3-bar {
  width: calc(100% - 2rem); margin: 12px 1rem 0; box-sizing: border-box;
  background: #f7f6f1; border-radius: 12px; padding: 6px; box-shadow: 0 1px 2px rgba(0,0,0,0.12);
  display: flex; align-items: center; gap: 2px;
  font-family: system-ui, -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.cmp3-bar-label { flex: 0 0 auto; width: 64px; padding: 0 8px; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: #6b6e62; }
.cmp3-bar button {
  font-family: inherit; flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 46px; padding: 0 8px; border-radius: 8px; border: none; cursor: pointer;
  background: transparent; color: #33352d; font-size: 13px; font-weight: 600; white-space: nowrap;
}
.cmp3-bar button:hover { background: #ebeae2; }
.cmp3-bar button.cmp3-on { background: #2E6B33; color: #ffffff; font-weight: 700; box-shadow: 0 1px 3px rgba(0,0,0,0.25); }
.cmp3-bar button:focus-visible { outline: 2px solid #adff2f; outline-offset: 2px; }
/* The bars size to the space the page column actually has (narrower when ERIC is docked), not the window (20.10.26) */
#mainColumn { container: cmp3main / inline-size; }
@container cmp3main (max-width: 1400px) { .cmp3-bar button svg { display: none; } }
@container cmp3main (max-width: 1150px) { .cmp3-bar button { font-size: 12px; padding: 0 4px; } .cmp3-bar-label { display: none; } }
/* Results bar gets the same "Results" label in front of its buttons */
#resultsViewBar.cmp3-rvbar { grid-template-columns: 64px repeat(5, minmax(0, 1fr)); margin-top: 8px; }
#resultsViewBar.cmp3-rvbar .cmp3-bar-label { align-self: center; }
@container cmp3main (max-width: 1150px) { #resultsViewBar.cmp3-rvbar { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Inputs page */
.cmp3-ip {
  width: calc(100% - 2rem); margin: 12px 1rem 1rem; box-sizing: border-box;
  background: #f7f6f1; color: #24261f; border-radius: 14px; padding: 26px 28px 24px; box-shadow: 0 1px 2px rgba(0,0,0,0.12);
  font-family: system-ui, -apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.cmp3-ip-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.cmp3-ip-head h1 { margin: 0; font-size: 26px; font-weight: 700; color: #24261f; text-shadow: none; }
.cmp3-ip-head p { margin: 4px 0 0; font-size: 14px; color: #55584c; max-width: 760px; line-height: 1.45; }
.cmp3-who { display: inline-flex; border: 1px solid #2E6B33; border-radius: 999px; padding: 3px; }
.cmp3-who[hidden] { display: none; }
.cmp3-who button { font-family: inherit; min-height: 36px; padding: 0 18px; border-radius: 999px; border: none; background: transparent; color: #2E6B33; font-size: 14px; font-weight: 600; cursor: pointer; }
.cmp3-who button.cmp3-on { background: #2E6B33; color: #ffffff; }
.cmp3-empty { margin: 0 0 12px; font-size: 14px; color: #55584c; background: #e8ece3; border-radius: 10px; padding: 14px 16px; }
.cmp3-ip-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; }
.cmp3-ip-foot button { font-family: inherit; min-height: 40px; padding: 0 16px; border-radius: 8px; border: 1px solid #2E6B33; background: #ffffff; color: #2E6B33; font-size: 14px; font-weight: 600; cursor: pointer; }
.cmp3-ip-foot .cmp3-next { margin-left: auto; background: #2E6B33; color: #ffffff; }
.cmp3-ip-foot button[hidden] { display: none; }

/* The two panels, moved into the page: no longer side columns. */
#inputsPane #leftColumn, #inputsPane #rightColumn,
#inputsPane #leftColumn.hidden-column, #inputsPane #rightColumn.hidden-column {
  position: static !important; display: block !important; width: auto !important; max-width: none !important;
  flex: none !important; height: auto !important; max-height: none !important; overflow: visible !important;
  padding: 0 !important; background: transparent !important; border: none !important; z-index: auto !important;
}
#inputsPane[data-who="you"] #rightColumn, #inputsPane[data-who="partner"] #leftColumn { display: none !important; }
/* Half-width sections, flowing into two columns */
/* Two columns when there is room (full width), one when narrow (side by side) */
#inputsPane #leftColumn, #inputsPane #rightColumn { columns: 2 380px; column-gap: 16px; }
@media (max-width: 1000px) { #inputsPane #leftColumn, #inputsPane #rightColumn { column-count: 1; } }
#inputsPane .accordion-item[data-cmp3-tab] { break-inside: avoid; page-break-inside: avoid; margin-bottom: 16px; border-radius: 12px !important; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.12); }
#inputsPane .accordion, #inputsPane .tutorial-section-group { margin: 0 !important; }
/* The old panel title, group headings and group dropdown are replaced by the tabs. */
#inputsPane .section-title, #inputsPane #inputPanelSectionSelectorContainer, #inputsPane #partnerInputPanelSectionSelectorContainer { display: none !important; }

/* Each tab shows only its own sections. */
#inputsPane[data-tab="have"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="have"]),
#inputsPane[data-tab="contrib"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="contrib"]),
#inputsPane[data-tab="target"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="target"]),
#inputsPane[data-tab="strategy"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="strategy"]),
#inputsPane[data-tab="risk"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="risk"]),
#inputsPane[data-tab="tax"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="tax"]),
#inputsPane[data-tab="assumptions"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="assumptions"]),
#inputsPane[data-tab="rules"] .accordion-item[data-cmp3-tab]:not([data-cmp3-tab="rules"]) { display: none !important; }

/* Sections as the mock-up's cards (19.10.26): white card, bold title, no header strip or icon,
   white body, dark labels, white input boxes, green switches and sliders, round -/+ buttons. */
#inputsPane .accordion-item[data-cmp3-tab] { background: #ffffff !important; border: 1px solid #e3e4dc !important; box-shadow: none; }
#inputsPane .accordion-item .accordion-item { border: none !important; border-top: 1px solid #ecece4 !important; border-radius: 0 !important; background: #ffffff !important; }
#inputsPane .accordion-button { background: #ffffff !important; color: #24261f !important; font-size: 18px !important; font-weight: 700 !important; padding: 20px 22px 6px !important; box-shadow: none !important; font-family: inherit; }
#inputsPane .accordion-item .accordion-item .accordion-button { font-size: 16px !important; padding: 14px 22px 6px !important; }
#inputsPane .accordion-button.collapsed { padding-bottom: 20px !important; }
#inputsPane .accordion-button > i:first-child, #inputsPane .accordion-button > img:first-child, #inputsPane .accordion-button > svg:first-child { display: none !important; }
/* Open / close arrow on every section header, in green (points up when open). */
#inputsPane .accordion-button::after { display: block !important; flex-shrink: 0; width: 1.1rem; height: 1.1rem; margin-left: auto; background-size: 1.1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232E6B33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important; }
#inputsPane .accordion-button:not(.collapsed)::after { transform: rotate(-180deg); }
#inputsPane .accordion-body { background: #ffffff !important; color: #24261f !important; padding: 6px 22px 20px !important; }
#inputsPane .accordion-body label, #inputsPane .accordion-body .form-label, #inputsPane .accordion-body .form-check-label { color: #24261f !important; font-size: 15px !important; }
#inputsPane .accordion-body p, #inputsPane .accordion-body .result-label, #inputsPane .accordion-body small { color: #55584c !important; font-size: 14px !important; line-height: 1.45; }
#inputsPane .accordion-body .form-control { font-size: 16px !important; color: #24261f !important; font-weight: 500 !important; background: #ffffff !important; border: 1px solid #d6d8cc !important; border-radius: 8px; min-height: 40px; box-shadow: none; }
#inputsPane .accordion-body output.form-control { color: #2f5f8f !important; font-weight: 700 !important; display: flex; align-items: center; justify-content: flex-end; }
#inputsPane .accordion-body .form-control::placeholder { color: #8d9083; font-weight: 400; }
#inputsPane .accordion-body .input-group-text { background: #eceee6 !important; border: 1px solid #d6d8cc !important; color: #55584c !important; border-radius: 8px 0 0 8px; }
#inputsPane .accordion-body .input-group > .form-control { border-radius: 0 8px 8px 0; }
#inputsPane .accordion-body .form-select { border: 1px solid #d6d8cc !important; border-radius: 8px; min-height: 40px; color: #24261f !important; }
#inputsPane .accordion-body .form-check-input:checked { background-color: #2E6B33 !important; border-color: #2E6B33 !important; }
#inputsPane .accordion-body .form-check-input:focus { box-shadow: 0 0 0 0.2rem rgba(46,107,51,0.25); border-color: #2E6B33; }
#inputsPane .accordion-body .form-switch .form-check-input { width: 2.9em; height: 1.55em; cursor: pointer; }
#inputsPane .accordion-body .form-range { accent-color: #2E6B33; }
#inputsPane .accordion-body .form-range::-webkit-slider-thumb { background: #2E6B33; }
#inputsPane .accordion-body .form-range::-moz-range-thumb { background: #2E6B33; }
#inputsPane .accordion-body .form-range::-webkit-slider-runnable-track { background: #e3e4dc; }
#inputsPane .accordion-body .form-range::-moz-range-track { background: #e3e4dc; }
#inputsPane .accordion-body .custom-circle-button { flex: none !important; width: 20px !important; height: 20px !important; min-width: 20px; transform: none !important; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: #ffffff !important; border: 1px solid #b9bcae !important; color: #24261f !important; }
#inputsPane .accordion-body .custom-circle-button:hover { background: #f1f3ec !important; }
#inputsPane .accordion-body .bi-info-circle-fill, #inputsPane .accordion-body .bi-info-circle { color: #9a9d90 !important; }
/* The older three-way toggles (Age / Year / Term, Low / Medium / High ...) as the mock-up's pills */
#inputsPane .three-way-toggle { background: #eceee6 !important; border-radius: 999px !important; padding: 3px !important; height: auto !important; min-height: 42px; gap: 2px; align-items: stretch !important; }
#inputsPane .three-way-toggle label { display: flex; align-items: center; justify-content: center; margin: 0 !important; border-radius: 999px !important; padding: 7px 12px !important; background: transparent !important; color: #2E6B33 !important; font-size: 14px !important; font-weight: 600; cursor: pointer; min-height: 36px; }
#inputsPane .three-way-toggle label:hover { background: #dfe5d8 !important; }
#inputsPane .three-way-toggle input:checked + label { background: #2E6B33 !important; color: #ffffff !important; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }

/* Reset button, moved up beside the You / Partner switch */
.cmp3-ip-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
#inputsPane .cmp3-reset { font-family: inherit; font-size: 14px !important; font-weight: 600; min-height: 36px; height: 36px; width: auto !important; padding: 0 18px !important; border-radius: 999px;
  background: #ffffff !important; color: #2E6B33 !important; border: 1px solid #2E6B33 !important; margin: 0 !important; white-space: nowrap; line-height: 1; }
#inputsPane .cmp3-reset:hover { background: #f1f3ec !important; }
#inputsPane .cmp3-gone { display: none !important; }

/* Results line: results buttons plus the layout switch (stage 4) */
.cmp3-rvline { width: calc(100% - 2rem); margin: 8px 1rem 0; display: flex; gap: 12px; align-items: stretch; box-sizing: border-box; }
.cmp3-rvline > #resultsViewBar { flex: 1 1 auto; width: auto; margin: 0; min-width: 0; }
.cmp3-layout { flex: none; background: #f7f6f1; border-radius: 12px; padding: 6px; display: flex; align-items: center; gap: 4px; box-shadow: 0 1px 2px rgba(0,0,0,0.12); }
.cmp3-layout button { width: 52px; min-height: 46px; border: none; border-radius: 8px; background: transparent; color: #33352d; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.cmp3-layout button:hover { background: #ebeae2; }
.cmp3-layout button.cmp3-on { background: #2E6B33; color: #ffffff; box-shadow: 0 1px 3px rgba(0,0,0,0.25); }
.cmp3-layout button:focus-visible { outline: 2px solid #adff2f; outline-offset: 2px; }
@media (max-width: 999px) { .cmp3-layout { display: none; } }

/* Side by side: inputs left, results right, each scrolling on its own, draggable divider */
.cmp3-split { --cmp3-left: 33.33%; width: calc(100% - 2rem); margin: 12px 1rem 1rem; box-sizing: border-box; position: sticky; top: var(--cmp3-split-top, 0px);
  display: grid; grid-template-columns: var(--cmp3-left) 14px minmax(0, 1fr); align-items: stretch; }
.cmp3-split[hidden] { display: none !important; }
.cmp3-split-inputs, .cmp3-split-results { min-width: 0; height: 100%; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.cmp3-split-inputs > #inputsPane { width: auto; margin: 0; min-height: 100%; }
.cmp3-split-results { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.cmp3-split-results > * { flex: none; }
.cmp3-split-results > .rv-subrow, .cmp3-split-results > .rv-host, .cmp3-split-results > .rv-pane, .cmp3-split-results > .cmp3-rvline { width: calc(100% - 1rem); }
.cmp3-split-results .rv-subrow { margin-top: 0; }
.cmp3-split-results .rv-host, .cmp3-split-results .rv-ccard, .cmp3-split-results .rv-tcard { margin-left: 0.5rem; margin-right: 0.5rem; width: calc(100% - 1rem); }
.cmp3-split-divider { cursor: col-resize; display: flex; align-items: center; justify-content: center; touch-action: none; border-radius: 7px; }
.cmp3-split-divider span { width: 4px; height: 56px; border-radius: 2px; background: rgba(255,255,255,0.55); box-shadow: 0 0 0 1px rgba(0,0,0,0.12); }
.cmp3-split-divider:hover span, .cmp3-split-divider.cmp3-dragging span { background: #ffffff; height: 96px; }
.cmp3-split-divider:focus-visible { outline: 2px solid #adff2f; outline-offset: -2px; }
body.cmp3-resizing, body.cmp3-resizing * { cursor: col-resize !important; user-select: none !important; }
/* Inputs page fills the narrower pane */
.cmp3-split .cmp3-ip { padding: 20px 18px 18px; }
.cmp3-split .cmp3-ip-head h1 { font-size: 22px; }

/* The results area was 150% of the window tall (blank space to scroll into, which also pushed the
   pinned block away); it now fits its contents, filling at least the window (19.10.26). */
body.cmp3-tabs .graph-container { height: auto !important; min-height: 100% !important; display: flex; flex-direction: column; }
/* ...and the results area stretches to fill it, so the pinned block can stay pinned all the way down. */
body.cmp3-tabs .graph-container > #graphPlaceholder { flex: 1 0 auto; justify-content: flex-start; }

/* Pinned block: summary panel + Inputs bar + Results line, fixed together at the top (19.10.26) */
#cmp3Top { position: sticky; top: var(--ps-sticky-top, 0px); z-index: 40; width: 100%; box-sizing: border-box; padding: 3px 0 8px;
  display: flex; flex-direction: column; align-items: center;
  background: rgba(143, 143, 135, 0.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
#cmp3Top > #planSummaryPanel { position: static; top: auto; padding: 0 1rem; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
/* Shorter bars, closer together; the Results bar 10% shorter than the Inputs bar */
#cmp3Top > .cmp3-bar { margin-top: 8px; padding: 4px; }
#cmp3Top > .cmp3-bar button { min-height: 36px; }
#cmp3Top > .cmp3-rvline { margin-top: 5px; gap: 8px; }
#cmp3Top #resultsViewBar { padding: 4px; gap: 4px; }
#cmp3Top #resultsViewBar button { min-height: 32px; font-size: 13px; }
#cmp3Top .cmp3-layout { padding: 4px; }
#cmp3Top .cmp3-layout button { min-height: 32px; width: 46px; }
/* The old (now empty) results header row is set to grow; with the results area filling the window it
   would swell into the spare space above the charts, so it keeps its own height. */
body.cmp3-tabs #graphPlaceholder > .flex-grow-1, body.cmp3-tabs .cmp3-split-results > .flex-grow-1 { flex-grow: 0 !important; }

/* Keep the pinned block tight under the menu bar (19.10.26). The results column scrolls on its own, but it
   was a full window tall, so the whole page could also scroll by the menu bar's height; the two scrolls
   fought and opened a gap above the pinned block. The column now fits exactly below the menu bar. */
@media (min-width: 768px) {
  body.cmp3-tabs #mainColumn { height: calc(100vh - var(--cmp-navbar-offset, 0px)) !important; }
}

/* No space between the menu bar and the pinned block: the results area loses its top padding (19.10.26) */
body.cmp3-tabs .graph-container { padding-top: 0 !important; }

/* Results area: the old, now-empty rows each added a 12px gap, leaving a strip above the results.
   Drop the automatic gaps and space only the parts that show (19.10.26). */
body.cmp3-tabs #graphPlaceholder { row-gap: 0 !important; }
body.cmp3-tabs #graphPlaceholder > #resultsViewHost,
body.cmp3-tabs #graphPlaceholder > #rvCharts,
body.cmp3-tabs #graphPlaceholder > #rvTables { margin-top: 12px; }

/* Slider -/+ buttons at half size (19.10.26) */
#inputsPane .accordion-body .custom-circle-button i { font-size: 12px; line-height: 1; }

/* You / Partner, per tab (19.10.26): when the partner's inputs show, the page says so plainly */
.cmp3-h1row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cmp3-who-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px;
  background: #295484; color: #ffffff; font-size: 13px; font-weight: 700; letter-spacing: 0.02em; }
.cmp3-who-badge[hidden] { display: none; }
#inputsPane[data-who="partner"] .cmp3-who { border-color: #295484; }
#inputsPane[data-who="partner"] .cmp3-who button { color: #295484; }
#inputsPane[data-who="partner"] .cmp3-who button.cmp3-on { background: #295484; color: #ffffff; }
#inputsPane[data-who="partner"] #rightColumn .accordion-item { border-left: 5px solid #295484 !important; }
#inputsPane[data-who="partner"] #rightColumn .accordion-item .accordion-item { border-left: none !important; }

/* Header on one line: title (+ partner badge) on the left, Reset and You / Partner on the right; the line
   doesn't wrap, the title wraps its words instead (20.10.26) */
.cmp3-ip-head { display: block; }
.cmp3-ip-head .cmp3-h1row { flex-wrap: nowrap; }
.cmp3-ip-head .cmp3-h1row h1 { flex: 0 1 auto; min-width: 0; }
.cmp3-ip-head .cmp3-who-badge { flex: none; white-space: nowrap; }
.cmp3-ip-head .cmp3-ip-actions { margin-left: auto; flex: none; flex-wrap: nowrap; }
.cmp3-ip-head p { margin-top: 6px; }
#inputsPane.cmp3-no-reset .cmp3-reset { display: none !important; }
@media (max-width: 560px) { .cmp3-ip-head .cmp3-who button { padding: 0 12px; } }

/* Header buttons 10% smaller, closer together; the title never squeezes below its longest word, and the
   buttons drop under it only if there is truly no room (20.10.26) */
.cmp3-ip-head .cmp3-ip-actions { gap: 8px; }
#inputsPane .cmp3-ip-head .cmp3-reset { font-size: 12.6px !important; min-height: 32px; height: 32px; padding: 0 16px !important; }
.cmp3-ip-head .cmp3-who { padding: 3px; }
.cmp3-ip-head .cmp3-who button { min-height: 32px; padding: 0 16px; font-size: 12.6px; }
.cmp3-ip-head .cmp3-h1row { flex-wrap: wrap; column-gap: 12px; row-gap: 8px; }
.cmp3-ip-head .cmp3-h1row h1 { min-width: min-content; }

/* Plan as a couple is now the Single / Couple switch in the summary bar; its old section is hidden here,
   and the partner's age is in the partner's "Your Partner" section (20.10.26) */
#inputsPane #planAsCoupleAccordion { display: none !important; }
#inputsPane #cmp3PartnerAbout #partnerAgeContainer > .mb-3 { margin-top: 0 !important; }

/* The retirement age is set with the -/+ in the summary bar (Selected Age), so the slider section is hidden (20.10.26) */
#inputsPane #retirementAgeAccordion { display: none !important; }

/* More room after the INPUTS / RESULTS labels; both the same width so the tabs line up (20.10.26) */
.cmp3-bar-label { width: 82px; margin-right: 8px; }

/* Ask ERIC button, after the layout buttons (20.10.26) */
.cmp3-eric-btn { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px 0 6px; border-radius: 12px; border: none;
  background: #f7f6f1; color: #2E6B33; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: 0 1px 2px rgba(0,0,0,0.12); white-space: nowrap; }
.cmp3-eric-btn img { width: 30px; height: 30px; object-fit: contain; border-radius: 6px; }
.cmp3-eric-btn:hover { background: #ebeae2; }
.cmp3-eric-btn.cmp3-on { background: #2E6B33; color: #ffffff; }
.cmp3-eric-btn:focus-visible { outline: 2px solid #adff2f; outline-offset: 2px; }
#cmp3Top .cmp3-eric-btn { min-height: 40px; }
@media (max-width: 999px) { .cmp3-eric-btn { display: none; } }

/* ERIC docked down the right-hand side; the page makes room */
body.cmp3-eric-docked { padding-right: var(--cmp3-eric-w, 400px) !important; }
#ericPanel.cmp3-eric-dock { position: fixed !important; top: var(--cmp3-eric-top, 78px) !important; right: 0 !important; bottom: 0 !important; left: auto !important;
  width: var(--cmp3-eric-w, 400px) !important; height: auto !important; max-width: none !important; max-height: none !important; min-width: 0 !important;
  border-radius: 0 !important; transform: none !important; transition: none !important; box-shadow: -2px 0 12px rgba(0,0,0,0.15) !important; z-index: 1150 !important; }
#ericPanel.cmp3-eric-dock .eric-resize-handle { display: none !important; }
#ericPanel.cmp3-eric-dock #ericPanelHeader { cursor: default; }
.cmp3-eric-divider { display: none; position: fixed; top: var(--cmp3-eric-top, 78px); bottom: 0; right: calc(var(--cmp3-eric-w, 400px) - 5px); width: 10px; z-index: 1151;
  cursor: col-resize; touch-action: none; }
.cmp3-eric-divider span { position: absolute; top: 50%; left: 3px; width: 4px; height: 44px; margin-top: -22px; border-radius: 2px; background: #9fa393; }
.cmp3-eric-divider:hover span, .cmp3-eric-divider:focus-visible span { background: #2E6B33; }
body.cmp3-eric-docked .cmp3-eric-divider { display: block; }
body.cmp3-eric-dragging { user-select: none; cursor: col-resize; }
body.cmp3-eric-dragging iframe, body.cmp3-eric-dragging canvas { pointer-events: none; }

/* Results sit snug at the top (20.10.26): the pills / switches row is removed when it has nothing showing,
   the old empty rows add no gaps, and the card only keeps a gap below a row of pills */
.rv-subrow:not(:has(> :not([hidden]))) { display: none !important; }
.cmp3-split-results { row-gap: 0 !important; }
.cmp3-split-results > .rv-subrow { margin-top: 0; }
.cmp3-split-results > #resultsViewHost, .cmp3-split-results > #rvCharts, .cmp3-split-results > #rvTables { margin-top: 12px; }
.cmp3-split-results > .rv-subrow:not(:has(> :not([hidden]))) ~ #resultsViewHost { margin-top: 0; }

/* Number boxes with the unit AFTER the number (e.g. "10 %"): rounded on the outside corners only, both
   parts the same height, and the % contribution box widened to sit in proportion (20.10.26) */
#inputsPane .accordion-body .input-group { flex-wrap: nowrap; align-items: stretch; }
#inputsPane .accordion-body .input-group > .form-control:first-child:not(:last-child) { border-radius: 8px 0 0 8px; border-right: none !important; }
#inputsPane .accordion-body .input-group > .input-group-text:last-child { border-radius: 0 8px 8px 0; padding: 0 10px !important; min-height: 40px; }
#inputsPane .accordion-body .input-group > .input-group-text:first-child { padding: 0 10px !important; }
#inputsPane .percent-contribution-group { gap: 10px; }
#inputsPane .percent-contribution-group .custom-circle-button { margin: 0 !important; }
#inputsPane .percent-contribution-group .input-group { width: 7.5rem !important; }
#inputsPane .percent-contribution-group .input-group > .form-control { padding-right: 10px !important; }
