/* Buyout follows the EMC screen's financial-cockpit rhythm with its own green
   identity. EMC is isolated; report instances opt into explicit static rules. */
.buyout-dashboard {
  --buyout-bg:#030c09;
  --buyout-panel:#081b12;
  --buyout-ink:#f2f8f4;
  --buyout-label:#d2e0d6;
  --buyout-muted:#a9bbae;
  --buyout-line:rgba(146,204,167,.19);
  --buyout-line-strong:rgba(146,204,167,.34);
  --buyout-green:#86e7a5;
  --buyout-green-bright:#bdffd1;
  --buyout-cursor:#8378ff;
  --buyout-cumulative:#a9c2ff;
  --buyout-amber:#f4ba62;
  --buyout-error:#ffaaa0;
  --buyout-average-fill:linear-gradient(100deg,rgba(93,125,111,.62),rgba(43,65,54,.80));
  --buyout-total-fill:linear-gradient(100deg,rgba(14,75,46,.86),rgba(25,106,57,.79));
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  min-width:0;
  width:100%;
  padding:clamp(22px,2.5vw,38px);
  overflow:visible;
  color:var(--buyout-ink);
  background:radial-gradient(circle at 88% 4%,rgba(107,201,137,.13),transparent 27%),radial-gradient(circle at 8% 44%,rgba(107,201,137,.055),transparent 30%),linear-gradient(145deg,#071912,#030d09 72%);
  font-family:"Microsoft YaHei","PingFang SC",Inter,system-ui,sans-serif;
  font-size:15px;
  line-height:1.45;
  font-variant-numeric:tabular-nums;
}
.buyout-dashboard *, .buyout-dashboard *::before, .buyout-dashboard *::after { box-sizing:border-box; }
.buyout-dashboard[hidden], .buyout-dashboard [hidden] { display:none!important; }
.buyout-dashboard button, .buyout-dashboard input { font:inherit; }
.buyout-dashboard button { cursor:pointer; }
.buyout-dashboard button:focus-visible, .buyout-dashboard input:focus-visible, .buyout-dashboard [tabindex]:focus-visible { outline:2px solid var(--buyout-green-bright); outline-offset:3px; }
.buyout-dashboard button:disabled { cursor:default; opacity:.35; }
.buyout-shell { display:grid; width:100%; max-width:1480px; min-width:0; margin:0 auto; gap:20px; }

/* Same short light rail and chapter typography as 05 / EMC. */
.buyout-header { position:relative; min-height:30px; padding-top:10px; }
.buyout-header::before { position:absolute; top:0; left:0; width:96px; height:2px; background:linear-gradient(90deg,var(--buyout-green),var(--buyout-green-bright),transparent); box-shadow:0 0 16px rgba(134,231,165,.45); transform-origin:left center; content:""; }
.buyout-eyebrow { margin:0; color:var(--buyout-green-bright); font-size:15px; font-weight:800; letter-spacing:.1em; }

/* Reports and live views use six parameter cards, arranged in pairs on small screens. */
.buyout-parameters-section { min-width:0; }
.buyout-parameters { display:grid; min-width:0; grid-template-columns:repeat(5,minmax(0,1fr)); grid-auto-rows:122px; gap:8px; }
@media (min-width:1200px) {
  .buyout-dashboard[data-buyout-pdf="false"] .buyout-parameters { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
.buyout-parameter { position:relative; display:grid; min-width:0; min-height:122px; height:122px; grid-template-rows:24px 44px; align-content:center; gap:4px; padding:10px 12px; overflow:visible; border:1px solid var(--buyout-line); border-radius:12px; background:linear-gradient(145deg,rgba(13,33,23,.94),rgba(5,17,10,.91)); box-shadow:inset 0 1px rgba(255,255,255,.025),0 10px 28px rgba(0,0,0,.08); }
.buyout-parameter::after { position:absolute; right:12px; bottom:0; left:12px; height:1px; opacity:.45; background:linear-gradient(90deg,transparent,var(--buyout-line-strong),transparent); content:""; }
.buyout-parameter.is-editable { border-color:rgba(134,231,165,.42); background:linear-gradient(145deg,rgba(21,44,28,.96),rgba(7,24,13,.92)); }
.buyout-parameter.is-editable::after { opacity:.9; background:linear-gradient(90deg,transparent,var(--buyout-green),transparent); }
.buyout-parameter.is-invalid { border-color:var(--buyout-error); }
.buyout-parameter-label { display:flex; min-width:0; align-items:center; color:var(--buyout-label); font-size:15px; font-weight:680; line-height:1.2; letter-spacing:.005em; white-space:nowrap; }
.buyout-dashboard[data-buyout-language="en"] .buyout-parameter { grid-template-rows:36px 44px; }
.buyout-dashboard[data-buyout-language="en"] .buyout-parameter-label { font-size:var(--buyout-parameter-label-font,14px); line-height:1.25; white-space:normal; overflow-wrap:normal; }
.buyout-parameter-value { --buyout-parameter-font:26px; display:flex; min-width:0; width:100%; height:44px; align-items:baseline; justify-content:flex-start; gap:3px; font-size:var(--buyout-parameter-font); white-space:nowrap; }
.buyout-parameter-value > .buyout-money, .buyout-percent { height:44px; justify-content:flex-start; color:var(--buyout-ink); font-size:var(--buyout-parameter-font); font-weight:780; line-height:44px; letter-spacing:-.025em; }
.buyout-percent { display:inline-flex; align-items:baseline; gap:3px; white-space:nowrap; }
.buyout-percent-unit { font-size:.7em; font-weight:720; }
.buyout-input { flex:0 1 var(--buyout-input-ch,5ch); width:var(--buyout-input-ch,5ch); min-width:0; max-width:100%; height:44px; margin:0; padding:0; border:0; border-bottom:1px solid rgba(189,255,209,.72); border-radius:0; outline:0; appearance:textfield; background:transparent; color:var(--buyout-ink); font-size:var(--buyout-parameter-font)!important; font-weight:780!important; line-height:44px; letter-spacing:-.025em; font-variant-numeric:tabular-nums; text-align:left; }
.buyout-input::placeholder { color:rgba(210,224,214,.58); font-size:.67em; font-weight:620; }
.buyout-input:focus { border-color:var(--buyout-green-bright); box-shadow:0 2px 0 rgba(189,255,209,.16); }
.buyout-input[aria-invalid="true"] { border-color:var(--buyout-error); }
.buyout-input-currency, .buyout-input-unit { flex:0 0 auto; color:var(--buyout-ink); font-size:.7em; font-weight:720; line-height:1; }
.buyout-input-unit { font-size:.58em; font-weight:650; }
.buyout-parameter[data-buyout-field="analysisYears"] .buyout-input { flex-basis:3ch; width:3ch; min-width:3ch; max-width:3ch; }
.buyout-validation { margin:8px 0 0; color:var(--buyout-error); font-size:14px; font-weight:650; }

/* Accounting amounts use one shared colour and one baseline throughout. */
.buyout-money { display:inline-grid; min-width:0; max-width:100%; grid-template-columns:max-content max-content max-content; align-items:baseline; justify-content:end; gap:3px; overflow:visible; white-space:nowrap; font-variant-numeric:tabular-nums; }
.buyout-money-symbol { min-width:0; color:inherit; text-align:center; }
.buyout-money-number { min-width:0; color:inherit; text-align:right; }
.buyout-money-unit { min-width:0; color:inherit; font-size:.82em; font-weight:650; letter-spacing:0; text-align:left; }
.buyout-parameter-value .buyout-money-symbol { font-size:.7em; font-weight:720; }
.buyout-parameter-value .buyout-money-unit { font-size:.58em; font-weight:650; }
.buyout-money-empty { color:var(--buyout-muted); font-size:14px; font-weight:620; line-height:1.3; letter-spacing:0; white-space:normal; }
.buyout-money.is-negative { color:var(--buyout-error); }

/* The live year strip and the two plots keep the EMC geometry. */
.buyout-chart-board, .buyout-details { min-width:0; border:1px solid var(--buyout-line); border-radius:16px; background:linear-gradient(145deg,rgba(10,27,18,.96),rgba(5,16,10,.94)); box-shadow:inset 0 1px rgba(255,255,255,.025),0 16px 42px rgba(0,0,0,.11); }
.buyout-chart-board { display:grid; gap:14px; padding:16px; }
.buyout-year-strip { display:flex; min-width:0; min-height:48px; align-items:center; flex-wrap:wrap; gap:6px 18px; margin:0; padding:7px 12px; border:1px solid rgba(134,231,165,.24); border-left:3px solid var(--buyout-green); border-radius:0 10px 10px 0; background:linear-gradient(90deg,rgba(134,231,165,.11),rgba(134,231,165,.025)); color:var(--buyout-ink); font-size:15px; font-weight:680; line-height:1.25; }
.buyout-year-output { flex:none; color:var(--buyout-green-bright); font-size:15px; font-weight:780; }
.buyout-year-detail { min-width:0; padding-left:16px; border-left:1px solid rgba(189,255,209,.16); white-space:normal; }
.buyout-charts { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.buyout-dashboard[data-buyout-term-mode="long"] .buyout-charts { grid-template-columns:minmax(0,1fr); }
.buyout-chart { position:relative; display:grid; min-width:0; min-height:0; margin:0; padding:18px 18px 14px; overflow:hidden; border:1px solid rgba(146,204,167,.16); border-radius:13px; background:radial-gradient(circle at 88% 8%,rgba(134,231,165,.08),transparent 30%),rgba(3,13,8,.55); }
.buyout-chart-caption { min-height:60px; }
.buyout-chart-title { margin:0; color:var(--buyout-ink); font-size:24px; font-weight:780; line-height:1.2; letter-spacing:-.02em; }
.buyout-recovery-notice { margin:8px 0 0; color:var(--buyout-muted); font-size:13px; font-weight:500; line-height:1.4; overflow-wrap:break-word; }
.buyout-chart-svg { display:block; width:100%; height:420px; min-height:420px; min-width:0; margin-top:6px; overflow:visible; touch-action:pan-y; }
.buyout-dashboard[data-buyout-term-mode="long"] .buyout-chart-svg { height:440px; min-height:440px; }
.buyout-axis-text, .buyout-axis-unit { fill:#b9cbbd; font-family:inherit; font-size:15px; font-weight:580; font-variant-numeric:tabular-nums; }
.buyout-axis-unit { font-size:14px; }
.buyout-chart-pending { fill:var(--buyout-muted); font-family:inherit; font-size:15px; font-weight:650; }
.buyout-dashboard [data-buyout-year] { cursor:pointer; }
.buyout-grid-line { stroke:rgba(169,187,173,.16); stroke-width:1; vector-effect:non-scaling-stroke; }
.buyout-zero-line { stroke:var(--buyout-amber); stroke-dasharray:7 5; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.buyout-chart-hit { fill:transparent; stroke:transparent; pointer-events:all; }
.buyout-chart-target { cursor:pointer; outline:none; }
.buyout-annual-year:is(.is-selected,.is-year-preview,.is-year-locked) .buyout-chart-hit { fill:rgba(131,120,255,.035); }
.buyout-bar-outline { fill:none; stroke:var(--buyout-cursor); stroke-width:3; opacity:0; pointer-events:none; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 5px rgba(131,120,255,.46)); }
.buyout-annual-year:is(.is-selected,.is-year-preview,.is-year-locked) .buyout-bar-outline { opacity:1; }
.buyout-dashboard .buyout-annual-year[tabindex]:focus-visible { outline:none; }
.buyout-keyboard-outline { fill:none; stroke:var(--buyout-green-bright); stroke-width:2; opacity:0; pointer-events:none; vector-effect:non-scaling-stroke; }
.buyout-annual-year:focus-visible .buyout-keyboard-outline { opacity:1; }
.buyout-annual-year:focus-visible .buyout-axis-text { fill:var(--buyout-cursor); text-decoration:underline; }
.buyout-annual-year:is(.is-selected,.is-year-preview,.is-year-locked) .buyout-axis-text { fill:var(--buyout-cursor); font-weight:800; }
.buyout-bar-saving { fill:var(--buyout-green); filter:drop-shadow(0 0 5px rgba(134,231,165,.18)); vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:center bottom; }
.buyout-bar-growth { transform-box:fill-box; transform-origin:center bottom; }
.buyout-zero-bar { stroke-width:2; }
.buyout-bar-saving.buyout-zero-bar { stroke:var(--buyout-green); }
.buyout-recovery-line { fill:none; stroke:var(--buyout-green-bright); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 6px rgba(134,231,165,.38)); }
.buyout-recovery-area { fill:rgba(134,231,165,.065); }
.buyout-recovery-dot { fill:var(--buyout-panel); stroke:var(--buyout-green-bright); stroke-width:2.5; vector-effect:non-scaling-stroke; }
.buyout-dot-hit { fill:transparent; }
.buyout-selected-guide { stroke:var(--buyout-cursor); stroke-dasharray:6 5; stroke-width:2.5; opacity:0; pointer-events:none; vector-effect:non-scaling-stroke; }
:is(.buyout-annual-year,.buyout-recovery-year):is(.is-selected,.is-year-preview,.is-year-locked) .buyout-selected-guide { opacity:.88; }
.buyout-recovery-year:is(.is-selected,.is-year-preview,.is-year-locked) .buyout-recovery-dot { fill:var(--buyout-cursor); stroke:#dedaff; filter:drop-shadow(0 0 7px rgba(131,120,255,.7)); }
.buyout-payback-dot { fill:var(--buyout-amber); stroke:#fff3d4; stroke-width:2.5; filter:drop-shadow(0 0 8px rgba(244,186,98,.6)); vector-effect:non-scaling-stroke; }
.buyout-payback-horizontal, .buyout-payback-guide { stroke:var(--buyout-amber); stroke-width:2; stroke-dasharray:5 5; opacity:.82; pointer-events:none; vector-effect:non-scaling-stroke; }
.buyout-payback-horizontal { transform-box:fill-box; transform-origin:left center; }
.buyout-payback-guide { transform-box:fill-box; transform-origin:center top; }
.buyout-payback-dot, .buyout-payback-ring { transform-box:fill-box; transform-origin:center; }
.buyout-payback-ring { fill:none; stroke:rgba(244,186,98,.9); stroke-width:1.75; opacity:0; pointer-events:none; vector-effect:non-scaling-stroke; }
.buyout-payback-label { fill:var(--buyout-amber); font-family:inherit; font-size:14px; font-weight:720; }
.buyout-payback-point { pointer-events:none; }

/* One annual ledger, with the verdict kept beside its title. */
.buyout-details { padding:18px; }
.buyout-details-head { display:grid; min-width:0; grid-template-columns:max-content minmax(0,1fr); align-items:center; gap:12px 16px; }
.buyout-details-title { margin:0; color:var(--buyout-ink); font-size:24px; font-weight:780; line-height:1.2; }
.buyout-outcome { display:flex; min-width:0; min-height:44px; align-items:center; margin:0; padding:8px 14px; border:1px solid rgba(244,186,98,.44); border-radius:999px; background:rgba(244,186,98,.10); color:#ffe0a7; font-size:16px; font-weight:700; line-height:1.25; white-space:normal; }
.buyout-table-wrap { min-width:0; width:100%; margin-top:14px; overflow:visible; }
.buyout-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; overflow:hidden; border:1px solid var(--buyout-line); border-radius:12px; background:rgba(4,15,8,.48); }
.buyout-table th, .buyout-table td { height:52px; padding:5px 12px; overflow:visible; border-bottom:1px solid rgba(146,204,167,.12); color:var(--buyout-ink); font-size:16px; line-height:1.2; text-align:center; vertical-align:middle; white-space:nowrap; }
.buyout-table th:first-child { width:16%; }
.buyout-table thead th { background:linear-gradient(180deg,rgba(134,231,165,.11),rgba(13,33,20,.76)); color:#d7e5da; font-size:15px; font-weight:740; letter-spacing:.005em; }
.buyout-dashboard[data-buyout-language="en"] .buyout-table thead th { white-space:normal; }
.buyout-table tbody tr { outline:0; transition:background-color .18s ease,box-shadow .18s ease; }
.buyout-table tbody tr:is(:hover,:focus-visible,.is-year-preview) { background:rgba(134,231,165,.09); box-shadow:inset 3px 0 var(--buyout-cursor); }
.buyout-table-money { width:max-content; margin-inline:auto; justify-content:center; gap:0 3px; color:var(--buyout-ink); font-size:16px; font-weight:720; }
.buyout-table .buyout-money-symbol, .buyout-table .buyout-money-number, .buyout-table .buyout-money-unit { width:auto; min-width:0; }
.buyout-table .buyout-money-symbol { text-align:right; }
.buyout-row-select { min-height:38px; padding:4px 0; border:0; background:transparent; color:inherit; font-size:16px!important; font-weight:650!important; white-space:nowrap; }
.buyout-table tbody tr.is-year-preview .buyout-row-select { color:var(--buyout-green-bright); }
.buyout-table tfoot th, .buyout-table tfoot td { height:64px; border-bottom:0; font-size:18px; font-weight:760; background:transparent; }
.buyout-table tfoot tr.is-average { background:var(--buyout-average-fill); }
.buyout-table tfoot tr.is-total { background:var(--buyout-total-fill); }
.buyout-table tfoot tr.is-total > * { height:68px; border-top:2px solid rgba(134,231,165,.65); }
.buyout-table tfoot .buyout-table-money { font-size:18px; }
.buyout-not-applicable { color:var(--buyout-muted)!important; }
.buyout-mobile-cards { display:none; }
.buyout-empty { margin:0; padding:22px; color:var(--buyout-muted); }
.buyout-sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* One-shot card emphasis and gated plot motion. Numeric strings never count from zero. */
@keyframes buyout-reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes buyout-signal-in { from { opacity:0; transform:scaleX(.25); } to { opacity:1; transform:scaleX(1); } }
@keyframes buyout-cursor-flow { to { stroke-dashoffset:-22; } }
@keyframes buyout-payback-flow { to { stroke-dashoffset:-48; } }
@keyframes buyout-payback-horizontal-in { from { opacity:0; transform:scaleX(0); } to { opacity:.82; transform:scaleX(1); } }
@keyframes buyout-payback-vertical-in { from { opacity:0; transform:scaleY(0); } to { opacity:.82; transform:scaleY(1); } }
@keyframes buyout-payback-heartbeat { 0%,48%,100% { filter:drop-shadow(0 0 7px rgba(244,186,98,.58)); transform:scale(1); } 11% { filter:drop-shadow(0 0 14px rgba(244,186,98,.92)); transform:scale(1.08); } 24% { filter:drop-shadow(0 0 8px rgba(244,186,98,.68)); transform:scale(1); } 35% { filter:drop-shadow(0 0 20px rgba(244,186,98,1)); transform:scale(1.14); } }
@keyframes buyout-payback-ripple { 0%,7% { opacity:0; transform:scale(.68); } 15% { opacity:.88; } 52%,100% { opacity:0; transform:scale(2.45); } }
@keyframes buyout-summary-scan { from { background-position:-70% 0,0 0; } to { background-position:170% 0,0 0; } }
@keyframes buyout-value-settle { from { opacity:.55; } to { opacity:1; } }
.buyout-dashboard.is-entering .buyout-header::before { animation:buyout-signal-in .34s cubic-bezier(.2,.8,.2,1) both; }
.buyout-dashboard.is-entering .buyout-eyebrow { animation:buyout-reveal .36s cubic-bezier(.2,.8,.2,1) both; }
.buyout-dashboard.is-entering .buyout-parameter { animation:buyout-reveal .42s cubic-bezier(.2,.8,.2,1) both; }
.buyout-dashboard.is-entering .buyout-parameter:nth-child(1) { animation-delay:80ms; }
.buyout-dashboard.is-entering .buyout-parameter:nth-child(2) { animation-delay:125ms; }
.buyout-dashboard.is-entering .buyout-parameter:nth-child(3) { animation-delay:170ms; }
.buyout-dashboard.is-entering .buyout-parameter:nth-child(4) { animation-delay:215ms; }
.buyout-dashboard.is-entering .buyout-parameter:nth-child(5) { animation-delay:260ms; }
.buyout-dashboard[data-buyout-pdf="false"].is-entering .buyout-parameter:nth-child(6) { animation-delay:305ms; }
.buyout-dashboard.is-data-updating .buyout-parameter:not(.is-editable) .buyout-money { animation:buyout-value-settle .38s ease-out 1; }
.buyout-dashboard[data-buyout-motion="active"] :is(.buyout-annual-year,.buyout-recovery-year):is(.is-selected,.is-year-preview,.is-year-locked) .buyout-selected-guide { animation:buyout-cursor-flow 1.7s linear infinite; }
.buyout-dashboard[data-buyout-motion="active"] .buyout-payback-horizontal { animation:buyout-payback-horizontal-in .62s cubic-bezier(.2,.8,.2,1) both,buyout-payback-flow 7s .62s linear infinite; }
.buyout-dashboard[data-buyout-motion="active"] .buyout-payback-guide { animation:buyout-payback-vertical-in .58s .42s cubic-bezier(.2,.8,.2,1) both,buyout-payback-flow 5.5s 1s linear infinite; }
.buyout-dashboard[data-buyout-motion="active"] .buyout-payback-dot { animation:buyout-payback-heartbeat 2.2s ease-in-out infinite; }
.buyout-dashboard[data-buyout-motion="active"] .buyout-payback-ring { animation:buyout-payback-ripple 2.2s ease-out infinite; }
.buyout-dashboard[data-buyout-motion="active"] .buyout-payback-ring.is-delayed { animation-delay:360ms; }
.buyout-dashboard [data-buyout-summary] { cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease; }
.buyout-dashboard [data-buyout-summary].is-average:is(:hover,:focus-visible,.is-summary-active) { background:linear-gradient(105deg,transparent 26%,rgba(232,252,238,.36) 50%,transparent 74%) -70% 0/42% 100% no-repeat,var(--buyout-average-fill); animation:buyout-summary-scan 660ms cubic-bezier(.2,.8,.2,1) 1 both; }
.buyout-dashboard [data-buyout-summary].is-total:is(:hover,:focus-visible,.is-summary-active) { background:linear-gradient(105deg,transparent 26%,rgba(178,255,203,.34) 50%,transparent 74%) -70% 0/42% 100% no-repeat,var(--buyout-total-fill); animation:buyout-summary-scan 660ms cubic-bezier(.2,.8,.2,1) 1 both; }
.buyout-dashboard [data-buyout-summary]:is(:hover,:focus-visible,.is-summary-active) .buyout-money { animation:buyout-value-settle .36s .08s ease-out 1 both; }
.buyout-dashboard.is-inactive *, .buyout-dashboard.is-inactive *::before, .buyout-dashboard.is-inactive *::after { animation:none!important; transition:none!important; }

@media (max-width:1199px) {
  .buyout-dashboard { padding:22px; }
  .buyout-parameters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .buyout-charts { grid-template-columns:minmax(0,1fr); }
  .buyout-chart-svg { height:380px; min-height:380px; }
  .buyout-outcome { padding:8px 13px; font-size:15px; }
  .buyout-table th, .buyout-table td { padding-inline:8px; }
}
@media (max-width:720px) {
  .buyout-dashboard { padding:16px; font-size:15px; }
  .buyout-shell { gap:16px; }
  .buyout-eyebrow { font-size:14px; }
  .buyout-parameters { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:8px; }
  .buyout-parameter { min-height:112px; height:auto; grid-template-rows:25px 46px; padding:10px 11px; }
  .buyout-dashboard[data-buyout-language="en"] .buyout-parameter { min-height:116px; grid-template-rows:36px 46px; }
  .buyout-parameter-label { font-size:14px; }
  .buyout-parameter-value { --buyout-parameter-font:22px; height:46px; }
  .buyout-chart-board, .buyout-details { padding:12px; border-radius:13px; }
  .buyout-year-strip { align-items:center; gap:7px 12px; padding:8px 10px; font-size:14px; }
  .buyout-year-output { font-size:14px; }
  .buyout-year-detail { flex:1; padding-left:10px; }
  .buyout-charts { gap:12px; }
  .buyout-chart { padding:14px 10px 10px; }
  .buyout-chart-caption { min-height:60px; }
  .buyout-chart-title { font-size:21px; }
  .buyout-chart-svg, .buyout-dashboard[data-buyout-term-mode="long"] .buyout-chart-svg { height:350px; min-height:350px; }
  .buyout-axis-text { font-size:13px; }
  .buyout-axis-unit { font-size:12px; }
  .buyout-payback-label { font-size:12px; }
  .buyout-details-head { grid-template-columns:minmax(0,1fr); align-items:stretch; gap:9px; }
  .buyout-details-title { font-size:21px; }
  .buyout-outcome { width:100%; padding:8px 10px; border-radius:10px; font-size:15px; line-height:1.25; }
  .buyout-table-wrap { display:none; }
  .buyout-mobile-cards { display:grid; min-width:0; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:14px; }
  .buyout-year-card { position:relative; min-width:0; padding:10px 12px; overflow:hidden; border:1px solid var(--buyout-line); border-radius:12px; outline:0; background:linear-gradient(145deg,rgba(12,31,19,.88),rgba(5,17,9,.88)); transition:border-color .18s ease,background-color .18s ease; }
  .buyout-year-card:is(:hover,:focus-visible,.is-year-preview) { border-color:rgba(134,231,165,.58); background:linear-gradient(145deg,rgba(134,231,165,.11),rgba(5,17,9,.90)); box-shadow:inset 3px 0 var(--buyout-cursor); }
  .buyout-year-card-head { display:flex; min-width:0; min-height:44px; align-items:center; border-bottom:1px solid rgba(146,204,167,.15); }
  .buyout-year-card-head h4 { margin:0; color:var(--buyout-ink); font-size:18px; font-weight:780; line-height:1.2; }
  .buyout-mobile-select { display:block; width:100%; min-height:44px; padding:0; border:0; background:transparent; color:var(--buyout-ink); font-size:18px!important; font-weight:780!important; text-align:left; }
  .buyout-mobile-values { display:grid; min-width:0; margin:0; padding:0; gap:0; }
  .buyout-mobile-pair { display:grid; min-width:0; min-height:48px; grid-template-columns:minmax(0,1fr) max-content; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(146,204,167,.1); }
  .buyout-mobile-pair:last-child { border-bottom:0; }
  .buyout-mobile-pair dt { min-width:0; margin:0; color:var(--buyout-label); font-size:12.5px; font-weight:650; line-height:1.25; }
  .buyout-mobile-pair dd { align-self:center; justify-self:end; min-width:0; margin:0; color:var(--buyout-ink); font-size:15px; font-weight:760; line-height:1.25; text-align:right; }
  .buyout-mobile-pair dd.is-negative { color:var(--buyout-error); }
  .buyout-dashboard[data-buyout-language="en"] .buyout-mobile-pair { min-height:58px; gap:8px; }
  .buyout-dashboard[data-buyout-language="en"] .buyout-mobile-pair dt { overflow-wrap:normal; }
  .buyout-summary-card { padding:10px 12px; }
  .buyout-summary-card.is-average { background:var(--buyout-average-fill); }
  .buyout-summary-card.is-total { border-top:2px solid rgba(134,231,165,.65); background:var(--buyout-total-fill); }
  .buyout-summary-card .buyout-year-card-head { min-height:36px; border-bottom:0; }
  .buyout-summary-card .buyout-year-card-head h4 { font-size:20px; }
  .buyout-summary-card .buyout-mobile-pair { min-height:48px; }
  .buyout-summary-card .buyout-mobile-pair dt { font-size:13px; }
  .buyout-summary-card .buyout-mobile-pair dd { font-size:16px; }
  .buyout-summary-card:is(:hover,:focus-visible,.is-summary-active) { border-color:rgba(189,255,209,.72); box-shadow:inset 3px 0 var(--buyout-green-bright); }
}
@media (max-width:390px) {
  .buyout-dashboard { padding:12px; }
  .buyout-parameters { gap:6px; }
  .buyout-parameter { padding-inline:9px; }
  .buyout-mobile-pair { gap:8px; }
}
/* Business semantics colour the complete amount, never the label or pending text. */
.buyout-dashboard .buyout-money[data-buyout-money-role="cumulative-saving"] { color:var(--buyout-cumulative); }
.buyout-dashboard .buyout-money[data-buyout-money-role="net-income"].is-negative { color:var(--buyout-error); }
.buyout-dashboard .buyout-money[data-buyout-money-role="net-income"].is-nonnegative { color:var(--buyout-green); }
.buyout-dashboard .buyout-money.is-pending { color:var(--buyout-muted); }
.buyout-dashboard .buyout-money > :is(.buyout-money-symbol,.buyout-money-number,.buyout-money-unit) { color:inherit; opacity:1; }

/* Report instances render the same measured layout from an immutable model.
   They never borrow live hover state, edit controls or demonstration returns. */
.buyout-static-years { display:inline-flex; height:44px; align-items:baseline; gap:3px; color:var(--buyout-ink); font-size:var(--buyout-parameter-font); font-weight:780; line-height:44px; white-space:nowrap; }
.buyout-dashboard[data-buyout-pdf="true"] { pointer-events:none; }
/* html2canvas paints inset shadows as rectangular seams on rounded panels.
   Keep their gradient fill and border; the live dashboard keeps its shadows. */
.buyout-dashboard[data-buyout-pdf="true"],
.buyout-dashboard[data-buyout-pdf="true"] *,
.buyout-dashboard[data-buyout-pdf="true"] *::before,
.buyout-dashboard[data-buyout-pdf="true"] *::after { animation:none!important; transition:none!important; box-shadow:none!important; }
.buyout-dashboard[data-buyout-pdf="true"] :is(.buyout-header,.buyout-year-strip,.buyout-selected-guide,.buyout-bar-outline,.buyout-keyboard-outline,.buyout-chart-hit,.buyout-dot-hit,.buyout-payback-ring) { display:none!important; }
.buyout-dashboard[data-buyout-pdf="true"] :is(.buyout-bar-growth,.buyout-recovery-line,.buyout-payback-horizontal,.buyout-payback-guide,.buyout-payback-dot) { transform:none!important; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-recovery-line { stroke-dasharray:none!important; stroke-dashoffset:0!important; }
.buyout-dashboard[data-buyout-pdf="true"] :is([data-buyout-year],[data-buyout-summary]) { cursor:default; }
@media (prefers-reduced-motion:reduce) {
  .buyout-dashboard *, .buyout-dashboard *::before, .buyout-dashboard *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* PDF-only V32 contract: field semantics own placement, not DOM order.
   The shared report guard measures each visual row before source/clone capture
   and supplies the two optional height variables; live cards are unchanged. */
.buyout-dashboard[data-buyout-pdf="true"] {
  --sx-returns-pdf-revision:returns-v661-export-1;
}
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameters {
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-areas:"original new saving ratio investment term";
  grid-auto-rows:auto;
  align-items:stretch;
}
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter[data-buyout-field="originalAnnualCost"] { grid-area:original; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter[data-buyout-field="newSystemAnnualCost"] { grid-area:new; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter[data-buyout-field="annualSaving"] { grid-area:saving; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter[data-buyout-field="savingRate"] { grid-area:ratio; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter[data-buyout-field="totalInvestmentBase"] { grid-area:investment; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter[data-buyout-field="analysisYears"] { grid-area:term; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter {
  height:var(--sx-returns-card-height,auto);
  min-height:122px;
  grid-template-rows:minmax(var(--sx-returns-label-height,0px),max-content) minmax(44px,max-content);
  align-content:center;
  overflow:visible;
}
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter-label {
  grid-row:1;
  min-height:0;
  height:auto;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  overflow:visible;
}
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter-value {
  grid-row:2;
  height:auto;
  min-height:44px;
  overflow:visible;
}
@media (max-width:1199px) {
  .buyout-dashboard[data-buyout-pdf="true"] .buyout-parameters {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"original new" "saving ratio" "investment term";
  }
}

/* Keep source and html2canvas's fixed 1440px desktop viewport identical. */
.pdf-snapshot-shell-v2[data-pdf-profile="desktop"] .buyout-dashboard[data-buyout-pdf="true"] {
  padding:36px;
}

/* V53: rows stretch only to their own content, preserving a compact cost row
   above the investment, term and classified-ratio row. */
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameters {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:"original new saving" "investment term ratio";
  grid-auto-rows:auto;
}
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter {
  height:auto;
  min-height:var(--sx-returns-card-height,122px);
  align-content:start;
}
.buyout-dashboard[data-buyout-pdf="true"] .buyout-parameter[data-returns-category-card="true"] > .buyout-parameter-value { display:none !important; }
.buyout-dashboard[data-buyout-pdf="true"] .sx-returns-pdf-categories { grid-row:2; width:100%; min-width:0; align-self:start; }
.buyout-dashboard[data-buyout-pdf="true"] .buyout-money.is-pending,
.buyout-dashboard[data-buyout-pdf="true"] .buyout-money-empty {
  display:block; width:100%; min-width:0; max-width:100%; white-space:normal !important;
  overflow-wrap:normal; word-break:normal; line-height:1.35 !important;
}
/* V54: only a dark PDF's English pending investment follows its title's
   left edge; real amounts, the live form and the catalog are unchanged. */
.pdf-snapshot-shell-v2[data-pdf-view="buyout"] .buyout-dashboard[data-buyout-pdf="true"][data-buyout-language="en"] .buyout-parameter[data-buyout-field="totalInvestmentBase"] .buyout-money.is-pending,
.pdf-snapshot-shell-v2[data-pdf-view="buyout"] .buyout-dashboard[data-buyout-pdf="true"][data-buyout-language="en"] .buyout-parameter[data-buyout-field="totalInvestmentBase"] .buyout-money-empty {
  text-align:left !important;
  justify-content:flex-start;
  justify-items:start;
  justify-self:start;
  margin-inline:0;
}
@media (max-width:1199px) {
  .buyout-dashboard[data-buyout-pdf="true"] .buyout-parameters {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"original new" "saving investment" "term ratio";
  }
}
.buyout-dashboard[data-buyout-pdf="true"][data-returns-pdf-columns="2"] .buyout-parameters {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:"original new" "saving investment" "term ratio";
}
.buyout-dashboard[data-buyout-pdf="true"][data-returns-pdf-columns="3"] .buyout-parameters {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:"original new saving" "investment term ratio";
}

/* Keep the phone verdict's real text clear of both its title and its frame;
   the explicit margin includes 8px for the measured canvas baseline shift. */
.pdf-snapshot-shell-v2[data-pdf-profile^="phone"] .buyout-dashboard[data-buyout-pdf="true"] .buyout-details-head {
  display:block !important;
}
.pdf-snapshot-shell-v2[data-pdf-profile^="phone"] .buyout-dashboard[data-buyout-pdf="true"] .buyout-outcome {
  display:block !important;
  height:auto !important;
  margin-top:20px !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
}
