/* A single comparison workbench; catalogue facts and calculations are unchanged. */
.hc-eff-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:24px; }
.hc-eff-heading h2 { margin:6px 0 0; font-size:30px; line-height:36px; font-weight:650; letter-spacing:-.025em; text-wrap:balance; }
.hc-eff-heading > p { max-width:37ch; margin:0; color:var(--c-ink-2); font-size:14px; line-height:22px; }
.hc-eff { --eff-space:16px; color:var(--c-ink); }
.hc-eff [hidden] { display:none !important; }
.hc-eff-workbench { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.46fr); border:1px solid var(--c-line); border-radius:10px; background:var(--c-bg); }
.hc-eff-inputs { min-width:0; padding:24px; }
.hc-eff-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px 16px; padding-bottom:20px; border-bottom:1px solid var(--c-line); }
.hc-eff-field { display:grid; min-width:0; align-content:start; gap:6px; }
.hc-eff-field label { color:var(--c-ink-2); font-size:13px; line-height:18px; font-weight:500; }
.hc-eff input,.hc-eff select { width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid var(--c-line); border-radius:6px; background:var(--c-bg-soft); color:var(--c-ink); font:inherit; font-size:16px; line-height:24px; font-variant-numeric:tabular-nums; transition:border-color 160ms,background-color 160ms; }
.hc-eff select { padding-right:30px; text-overflow:ellipsis; cursor:pointer; }
.hc-eff input:hover,.hc-eff select:hover { border-color:var(--c-ink-3); }
.hc-eff input:focus-visible,.hc-eff select:focus-visible { background:var(--c-bg); }
.hc-eff input:focus-visible,.hc-eff select:focus-visible,.hc-eff button:focus-visible,.hc-eff summary:focus-visible,.hc-eff a:focus-visible { outline:3px solid var(--c-focus); outline-offset:3px; }
.hc-eff input[aria-invalid="true"] { border-color:var(--c-accent); }
.hc-eff input:disabled,.hc-eff select:disabled { color:var(--c-ink-3); cursor:not-allowed; }
.hc-eff-hint,.hc-eff-error,.hc-eff-source-note { color:var(--c-ink-2); font-size:12px; line-height:18px; }
.hc-eff-hint:empty,.hc-eff-error:empty,.hc-eff-source-note:empty { display:none; }
.hc-eff-error { color:var(--c-accent); }
.hc-eff summary { display:flex; align-items:center; min-height:44px; gap:12px; list-style:none; cursor:pointer; touch-action:manipulation; }
.hc-eff summary::-webkit-details-marker { display:none; }
.hc-eff-search { grid-column:1/-1; min-width:0; }
.hc-eff-search > summary { justify-content:flex-start; font-size:12px; line-height:18px; color:var(--c-ink-2); text-decoration:underline; text-underline-offset:3px; }
.hc-eff-search input { margin-top:6px; }
.hc-eff-search small { display:block; margin-top:6px; color:var(--c-ink-2); font-size:12px; line-height:18px; }
.hc-eff-schedule { padding-block:20px; border-bottom:1px solid var(--c-line); }
.hc-eff-schedule > h3 { margin:0 0 12px; font-size:14px; line-height:20px; font-weight:600; }
.hc-eff-common { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.hc-eff-machines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin-top:20px; }
.hc-eff-machine { min-width:0; padding-right:20px; }
.hc-eff-machine + .hc-eff-machine { padding-right:0; padding-left:20px; border-left:1px solid var(--c-line); }
.hc-eff-kicker { display:flex; align-items:center; gap:7px; color:var(--c-ink-2); font-size:12px; line-height:18px; font-weight:500; }
.hc-eff-model-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--c-ink); }
.hc-eff-machine[data-eff-machine="b"] .hc-eff-model-dot { background:var(--c-ink-3); }
.hc-eff-machine[data-eff-selected="false"] .hc-eff-model-dot { background:var(--c-line); }
.hc-eff-machine-head { display:flex; align-items:center; gap:12px; min-height:144px; padding-block:12px; }
.hc-eff-machine-head img { width:136px; height:112px; flex:0 0 136px; object-fit:contain; background:var(--c-bg); }
.hc-eff-machine-head > div { min-width:0; }
.hc-eff-machine-head h3 { margin:0; font-size:19px; line-height:25px; font-weight:650; letter-spacing:-.02em; overflow-wrap:anywhere; }
.hc-eff-machine-head p { margin:6px 0 0; color:var(--c-ink-2); font-size:12px; line-height:18px; }
.hc-eff-machine[data-eff-selected="false"] .hc-eff-machine-head { align-items:flex-start; padding-top:26px; }
.hc-eff-machine[data-eff-selected="false"] .hc-eff-machine-head h3 { max-width:15ch; font-size:20px; line-height:26px; }
.hc-eff-machine-fields { min-width:0; }
.hc-eff-price-field input { font-size:18px; font-weight:600; }
.hc-eff-machine .hc-eff-source-note { margin:6px 0 0; }
.hc-eff-energy-grid,.hc-eff-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.hc-eff-energy-grid label { min-height:36px; }
.hc-eff-service-grid { margin-top:16px; padding-top:16px; border-top:1px solid var(--c-line); }
.hc-eff-service-grid label { min-height:36px; }
.hc-eff-service-grid .hc-eff-hint { font-size:12px; line-height:18px; }
.hc-eff-fuel { margin-bottom:14px; }
.hc-eff-side-note { margin:12px 0 0; color:var(--c-ink-2); font-size:12px; line-height:18px; overflow-wrap:anywhere; }
.hc-eff-advanced { margin-top:20px; border-block:1px solid var(--c-line); }
.hc-eff-advanced > summary { justify-content:space-between; padding-block:10px; color:var(--c-ink-2); font-size:13px; line-height:20px; font-weight:500; }
.hc-eff-advanced > summary .hc-icon { width:18px; height:18px; flex:0 0 18px; }
.hc-eff-advanced[open] > summary .hc-icon { transform:rotate(180deg); }
.hc-eff-advanced-body { padding:0 0 18px; }
.hc-eff-assumptions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px; }
.hc-eff-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin-top:20px; }
.hc-eff-actions .hc-button { min-height:46px; gap:20px; padding:12px 18px; font-size:14px; }
.hc-eff-reset { min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--c-ink-2); font:inherit; font-size:12px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.hc-eff-footnote { max-width:65ch; margin:8px 0 0; color:var(--c-ink-2); font-size:12px; line-height:18px; }
.hc-eff-summary { align-self:start; position:sticky; top:132px; min-width:0; margin:16px 16px 16px 0; padding:22px 18px; border-radius:6px; background:var(--c-bg-soft); }
.hc-eff-summary > h3 { margin:6px 0 0; font-size:21px; line-height:27px; font-weight:650; letter-spacing:-.02em; text-wrap:balance; }
.hc-eff-empty { padding:32px 0 24px; }
.hc-eff-empty > svg { display:block; margin-bottom:18px; color:var(--c-ink-2); }
.hc-eff-empty > p { margin:0; font-size:23px; line-height:29px; letter-spacing:-.025em; font-weight:600; text-wrap:balance; }
.hc-eff-empty > span { display:block; max-width:30ch; margin-top:12px; color:var(--c-ink-2); font-size:13px; line-height:20px; }
.hc-eff-results { margin-top:20px; }
.hc-eff-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.hc-eff-table caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hc-eff-table th,.hc-eff-table td { padding:12px 6px; border-bottom:1px solid var(--c-line); vertical-align:middle; text-align:left; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.hc-eff-table th:first-child { padding-left:0; width:33%; }
.hc-eff-table td:last-child,.hc-eff-table th:last-child { padding-right:0; }
.hc-eff-table thead th { font-size:11px; line-height:17px; font-weight:500; color:var(--c-ink-2); }
.hc-eff-table tbody th { font-size:12px; line-height:18px; font-weight:400; }
.hc-eff-table tbody td { font-size:15px; line-height:21px; font-weight:600; }
.hc-eff-table .hc-eff-total th,.hc-eff-table .hc-eff-total td { padding-block:18px; }
.hc-eff-table .hc-eff-total td { font-size:20px; line-height:26px; font-weight:650; }
.hc-eff-total small { display:block; margin-top:3px; color:var(--c-ink-2); font-size:11px; line-height:16px; }
.hc-eff-difference { margin:18px 0 0; padding-top:16px; border-top:1px solid var(--c-line); color:var(--c-ink-2); font-size:13px; line-height:20px; overflow-wrap:anywhere; }
.hc-eff-link { display:flex; align-items:center; justify-content:space-between; min-height:44px; gap:12px; margin-top:12px; font-size:13px; line-height:20px; font-weight:600; }
.hc-eff-estimate { margin:14px 0 0; color:var(--c-ink-2); font-size:11px; line-height:17px; }
.hc-eff-method { margin-top:12px; }
.hc-eff-method > summary { color:var(--c-ink-2); font-size:12px; line-height:18px; text-decoration:underline; text-underline-offset:3px; }
.hc-eff-method > div { display:grid; gap:12px; max-width:90ch; color:var(--c-ink-2); font-size:13px; line-height:21px; }
@media (max-width:1199px) {
  .hc-eff-workbench { grid-template-columns:minmax(0,1fr); }
  .hc-eff-summary { position:static; margin:0 24px 24px; padding:20px; }
  .hc-eff-empty { padding:20px 0; }
  .hc-eff-empty > svg { display:none; }
  .hc-eff-empty > p { font-size:20px; line-height:26px; }
  .hc-eff-empty > p br { display:none; }
  .hc-eff-table th:first-child { width:40%; }
  .hc-eff-table .hc-eff-total td { font-size:24px; line-height:30px; }
}
@media (max-width:760px) {
  .hc-eff-heading { display:block; margin-bottom:20px; }
  .hc-eff-heading h2 { font-size:25px; line-height:31px; }
  .hc-eff-heading > p { margin-top:12px; font-size:14px; line-height:22px; }
  .hc-eff-heading > p br { display:none; }
  .hc-eff-inputs { padding:16px; }
  .hc-eff-picker { grid-template-columns:minmax(0,1fr); gap:12px; padding-bottom:16px; }
  .hc-eff-search { padding-top:0; }
  .hc-eff-search > summary { justify-content:flex-start; }
  .hc-eff-search[open] { grid-column:auto; }
  .hc-eff-schedule { padding-block:16px; }
  .hc-eff-common { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hc-eff-common .hc-eff-field:last-child { grid-column:1/-1; }
  .hc-eff-machines { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:16px; }
  .hc-eff-machine { padding:0; }
  .hc-eff-machine + .hc-eff-machine { padding:20px 0 0; border-left:0; border-top:1px solid var(--c-line); }
  .hc-eff-machine-head { min-height:130px; }
  .hc-eff-machine-head img { width:136px; height:112px; flex-basis:136px; }
  .hc-eff-machine-head h3 { font-size:19px; line-height:25px; }
  .hc-eff-machine[data-eff-selected="false"] .hc-eff-machine-head { min-height:0; padding-block:16px 0; }
  .hc-eff-machine[data-eff-selected="false"] .hc-eff-machine-head h3 { max-width:none; font-size:18px; line-height:24px; }
  .hc-eff-service-grid .hc-eff-hint { font-size:12px; line-height:18px; }
  .hc-eff-assumptions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
  .hc-eff-actions { gap:4px 16px; }
  .hc-eff-actions .hc-button { width:100%; flex:none; justify-content:space-between; }
  .hc-eff-summary { margin:0 10px 10px; padding:18px 12px; }
  .hc-eff-summary > h3 { font-size:20px; line-height:26px; }
  .hc-eff-table th:first-child { width:34%; }
  .hc-eff-table .hc-eff-total td { font-size:20px; line-height:26px; }
}
@media (max-width:360px) {
  .hc-eff-inputs { padding:12px; }
  .hc-eff-machine-head img { width:112px; height:100px; flex-basis:112px; }
  .hc-eff-machine-head h3 { font-size:17px; line-height:23px; }
  .hc-eff-service-grid { grid-template-columns:minmax(0,1fr); }
  .hc-eff-service-grid label { min-height:0; }
}
@media (max-width:480px) {
  .hc-eff-table,.hc-eff-table thead,.hc-eff-table tbody { display:block; }
  .hc-eff-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; border-bottom:1px solid var(--c-line); }
  .hc-eff-table th,.hc-eff-table td { width:auto; padding:6px 0 12px; border:0; }
  .hc-eff-table thead th { font-size:12px; line-height:18px; }
  .hc-eff-table thead th:first-child { display:none; }
  .hc-eff-table tbody th:first-child { grid-column:1/-1; width:auto; padding:12px 0 0; color:var(--c-ink-2); font-size:12px; line-height:18px; }
  .hc-eff-table tbody td { font-size:17px; line-height:24px; }
  .hc-eff-table .hc-eff-total th { padding-top:16px; }
  .hc-eff-table .hc-eff-total td { padding:8px 0 16px; font-size:20px; line-height:26px; }
  .hc-eff-total small { display:inline; margin-left:4px; font-size:11px; line-height:16px; }
}
@media (prefers-reduced-motion:reduce) { .hc-eff *,.hc-eff *::before,.hc-eff *::after { transition:none !important; animation:none !important; } }
