/* FL04: related fields share caption/control tracks; messages stay with their field. */
.calculator-benchmark form[data-compact-form] [hidden]{display:none!important}
.calculator-benchmark form[data-compact-form] :is(.calculator-fields,.household-fields){display:flex;flex-direction:column;gap:16px;min-width:0}
.calculator-benchmark form[data-compact-form] :is(.calculator-field,.household-field){display:grid;grid-template-rows:auto auto;grid-row:auto;gap:8px;align-content:start;width:100%;min-width:0;max-width:none}
.calculator-benchmark form[data-compact-form] :is(.calculator-fields,.household-fields)>.calculator-field:not([hidden]){grid-template-rows:auto auto;grid-row:auto}
.calculator-benchmark form[data-compact-form] .household-control{display:flex;flex-direction:column;gap:8px;min-width:0;align-self:start}
.calculator-benchmark form[data-compact-form] .household-field-messages{display:flex;flex-direction:column;gap:8px;margin:0}
.calculator-benchmark form[data-compact-form] .household-field-messages:not(:has(>:not([hidden]))){display:none}
.calculator-benchmark form[data-compact-form] .household-field-messages>*{margin:0}
.calculator-benchmark form[data-compact-form] .household-field>label{min-height:0}
.calculator-benchmark form[data-compact-form] .gc-stepper{width:100%;max-width:none}
.calculator-benchmark form[data-compact-form] .calculator-compact-pair{--pair-min:176px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--pair-min)),1fr));gap:8px 12px;min-width:0;width:100%;grid-column:1/-1}
.calculator-benchmark form[data-compact-form] .calculator-compact-pair:is(.compact-rates,.compact-percent,.compact-fuel){--pair-min:196px}
.calculator-benchmark form[data-compact-form] .calculator-compact-pair.compact-counts{--pair-min:144px;max-width:380px}
.calculator-benchmark form[data-compact-form] .calculator-compact-pair>.calculator-field:not([hidden]){display:grid;grid-template-rows:subgrid;grid-row:span 2;grid-column:auto;row-gap:8px;align-items:start}
.calculator-benchmark form[data-compact-form] .calculator-compact-pair>.calculator-field>:first-child{align-self:end}
.calculator-benchmark form[data-compact-form] .calculator-compact-pair .calculator-control{align-self:start}
.calculator-benchmark form[data-compact-form] .household-field:has(>.household-check){grid-template-rows:auto;margin:0}
.calculator-benchmark form[data-compact-form] .household-field>.household-check{min-height:48px}
.calculator-benchmark form[data-compact-form] .household-fields>.household-field:has(>.household-check){grid-template-rows:auto}
.calculator-benchmark form[data-compact-form] .calculator-label-unit{white-space:nowrap}
.calculator-benchmark form[data-compact-form] .calculator-period-source{display:none!important}
.calculator-benchmark .calculator-compact-period{display:grid;gap:8px;min-width:0;width:100%}
.calculator-compact-period>label{font-size:14px;font-weight:600;line-height:1.5}
.calculator-benchmark .calculator-period-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:0;padding:10px 12px;border:1px solid #adcab6;border-radius:8px;background:#fff;color:#173c33;text-align:left;font:inherit;font-size:15px;line-height:24px;font-variant-numeric:tabular-nums}
.calculator-period-trigger>span{min-width:0}
.calculator-period-trigger>svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.calculator-period-trigger:focus-visible{outline:2px solid #24856b;outline-offset:2px}
.calculator-period-trigger[aria-invalid=true]{border-color:#af4033}
.calculator-period-error{margin:0;color:#a0392d;font-size:13px;line-height:1.5}
@supports not (grid-template-rows:subgrid){.calculator-benchmark form[data-compact-form] .calculator-compact-pair>.calculator-field:not([hidden]){grid-template-rows:auto auto;grid-row:auto}}
/* Preserve the original desktop density of these short legacy forms. */
@media(min-width:801px){
 .calculator-benchmark form:is([data-compact-form="goal_calc"],[data-compact-form="cushion_calc"])>.calculator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
 .calculator-benchmark form:is([data-compact-form="goal_calc"],[data-compact-form="cushion_calc"])>.calculator-fields>.calculator-field:not([hidden]){grid-row:span 2;grid-template-rows:subgrid;row-gap:8px}
 .calculator-benchmark form:is([data-compact-form="goal_calc"],[data-compact-form="cushion_calc"])>.calculator-fields>.calculator-field>:first-child{align-self:end}
 @supports not (grid-template-rows:subgrid){
  .calculator-benchmark form:is([data-compact-form="goal_calc"],[data-compact-form="cushion_calc"])>.calculator-fields>.calculator-field:not([hidden]){grid-row:auto;grid-template-rows:auto auto}
 }
}
