.hha{--ink:#18362d;--muted:#68756f;--line:#dce8e1;--soft:#f3f8f5;--accent:#2d765e;max-width:1220px;margin:24px auto;color:var(--ink);font-family:inherit}.hha *{box-sizing:border-box}.hha-hero{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;padding:32px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#eef8f2,#fbfdfc);box-shadow:0 10px 36px rgba(30,70,55,.08)}.hha-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.11em;font-size:.75rem;font-weight:800;color:var(--accent)}.hha-hero h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;margin:.4rem 0 .7rem}.hha-hero p{color:var(--muted);font-size:1.05rem}.hha-peak{min-width:220px;text-align:center;background:var(--ink);color:#fff;padding:20px;border-radius:20px}.hha-peak span,.hha-peak small{display:block;opacity:.78}.hha-peak strong{display:block;font-size:2rem;margin:.3rem 0}.hha-layout{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:20px;margin-top:20px}.hha-progress{display:flex;align-items:center;gap:12px;margin-bottom:14px}.hha-progress>div{height:8px;background:#e4ece8;border-radius:99px;overflow:hidden;flex:1}.hha-progress span{display:block;height:100%;width:14%;background:var(--accent)}.hha-panel{display:none;padding:26px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 6px 25px rgba(28,62,50,.05)}.hha-panel.active,.hha-panel:not(.hidden)#hha-results{display:block}.hha-panel h3{font-size:1.7rem;margin:.3rem 0 .5rem}.hha-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hha label{display:flex;flex-direction:column;gap:7px;font-weight:700}.hha label small{font-weight:500;color:var(--muted)}.hha input,.hha select{width:100%;padding:11px 12px;border:1px solid #cad8d1;border-radius:10px;background:#fff;font:inherit}.hha-unit{display:flex;align-items:center;border:1px solid #cad8d1;border-radius:10px;overflow:hidden}.hha-unit input{border:0}.hha-unit b{padding:0 12px;color:var(--muted)}.hha-effect,.hha-help{margin-top:16px;padding:15px 17px;border-radius:13px;background:#edf6ff;border:1px solid #d5e7f5}.hha-effect p,.hha-help p{margin:.3rem 0 0;color:#59717c}.hha-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.hha-actions.split{justify-content:space-between}.hha button{border:1px solid #ccd8d2;border-radius:10px;padding:11px 16px;background:#fff;font:inherit;font-weight:800;cursor:pointer}.hha button.primary,.hha-actions button:last-child{background:var(--accent);color:#fff;border-color:var(--accent)}.hha-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.hha-choices label input{position:absolute;opacity:0}.hha-choices label span{display:flex;flex-direction:column;min-height:145px;padding:15px;border:1px solid var(--line);border-radius:14px}.hha-choices label input:checked+span{background:#edf8f1;border-color:var(--accent);box-shadow:0 0 0 2px rgba(45,118,94,.12)}.hha-choices strong{margin-top:6px}.hha-choices small{color:var(--muted);margin-top:4px}.hha-live{position:sticky;top:20px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f8fbf9;box-shadow:0 6px 25px rgba(28,62,50,.05)}.hha-live h3{margin:.3rem 0}.hha-live>p{color:var(--muted)}.hha-live-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;margin:9px 0}.hha-live-card.off{opacity:.58;background:#f3f3f3}.hha-live-card>div{display:flex;justify-content:space-between;gap:8px}.hha-live-card>div span{font-size:.72rem;font-weight:800}.hha-live-card>b,.hha-live-card>small{display:block;margin-top:5px}.hha-live-card>small{color:var(--muted)}.hha-live-card ul{font-size:.78rem;padding-left:17px}.hha-live-card p{font-size:.78rem;color:#8a4b28}.hha-result{padding:20px;border:1px solid var(--line);border-radius:17px;margin:14px 0}.hha-result.off{opacity:.65;background:#f6f6f6}.hha-result-head{display:flex;justify-content:space-between;gap:18px}.hha-result-head span{font-size:.78rem;text-transform:uppercase;color:var(--accent);font-weight:800}.hha-result-head h4{font-size:1.4rem;margin:.2rem 0}.hha-result-head p{color:var(--muted);margin:0}.hha-result-head>div:last-child{text-align:center;background:var(--soft);padding:10px;border-radius:12px;min-width:80px}.hha-result-head>div:last-child strong{display:block;font-size:1.35rem}.hha-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.hha-metrics>div{padding:12px;border:1px solid var(--line);border-radius:11px}.hha-metrics span{display:block;color:var(--muted);font-size:.8rem}.hha-result section{padding:13px 15px;border-radius:12px;background:#f6f8f7;margin:9px 0}.hha-result section.good{background:#edf8f1}.hha-result section.warn{background:#fff5d8}.hha-result section.grant{background:#edf6ff}.hha-result ul{padding-left:18px}.hha-save{margin-top:15px;padding:15px 18px;border-radius:13px;background:var(--ink);color:#fff}.hidden{display:none!important}@media(max-width:980px){.hha-layout{grid-template-columns:1fr}.hha-live{position:static}}@media(max-width:720px){.hha-hero{grid-template-columns:1fr}.hha-peak{display:none}.hha-grid{grid-template-columns:1fr}.hha-choices{grid-template-columns:repeat(2,1fr)}.hha-metrics{grid-template-columns:1fr}}@media(max-width:500px){.hha-choices{grid-template-columns:1fr}.hha-actions.split,.hha-result-head{flex-direction:column}.hha-panel,.hha-hero{padding:19px}}

.hha-info{position:relative;display:inline-grid!important;place-items:center;width:20px!important;height:20px!important;padding:0!important;margin-left:5px;border:1px solid #9ab3a8!important;border-radius:50%!important;background:#fff!important;color:#315f50!important;font-size:12px!important;font-weight:800!important;line-height:1!important;vertical-align:middle;cursor:help}.hha-tooltip{display:none;position:absolute;z-index:50;left:24px;top:-8px;width:min(360px,75vw);padding:12px 14px;border-radius:12px;background:#173d32;color:#fff;font-size:.84rem;font-weight:500;line-height:1.45;box-shadow:0 12px 35px rgba(0,0,0,.18);text-align:left}.hha-info:hover .hha-tooltip,.hha-info:focus .hha-tooltip,.hha-info.open .hha-tooltip{display:block}.hha-finance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.hha-finance-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb}.hha-finance-grid span{display:block;color:var(--muted);font-size:.78rem}.hha-finance-grid strong{display:block;margin-top:4px}.hha-eff{padding:14px 16px;border-radius:13px;background:#eef6ff;border:1px solid #d8e8f5;margin:10px 0}.hha-eff p{margin:.35rem 0 0}.hha-tech{margin:12px 0}.hha-tech summary{cursor:pointer;font-weight:800}.hha-tech p{color:#4f625c}.hha-live-fin{display:grid;grid-template-columns:1fr auto;gap:3px 8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:.78rem}@media(max-width:760px){.hha-finance-grid{grid-template-columns:1fr}.hha-tooltip{left:auto;right:0;top:25px}}

.hha-finance-grid small{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.35}

.hha-results-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:8px}
.hha-results-toolbar h3{margin:.2rem 0 0}
.hha-edit-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap}
.hha-edit-btn:hover{background:var(--soft)}
@media(max-width:620px){.hha-results-toolbar{flex-direction:column}.hha-edit-btn{width:100%}}

.hha-cost-breakdown{margin:13px 0;border:1px solid var(--line);border-radius:14px;background:#fbfcfb;overflow:hidden}
.hha-cost-breakdown>summary{padding:14px 16px;font-weight:800;cursor:pointer;background:#f2f7f4}
.hha-cost-breakdown>div,.hha-cost-breakdown>p{margin:12px 16px}
.hha-cost-note{padding:12px 14px;border-radius:11px;background:#eef6ff;color:#4c626c}
.hha-cost-breakdown table{width:calc(100% - 32px);margin:12px 16px;border-collapse:collapse}
.hha-cost-breakdown th,.hha-cost-breakdown td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.hha-cost-breakdown th:nth-child(2),.hha-cost-breakdown td:nth-child(2),
.hha-cost-breakdown th:nth-child(3),.hha-cost-breakdown td:nth-child(3){text-align:right;white-space:nowrap}
.hha-cost-breakdown tfoot .total{background:#edf8f1}
.hha-cost-breakdown tfoot .customer{background:#173d32;color:#fff}
.hha-cost-warning{font-size:.82rem;color:var(--muted)}
@media(max-width:600px){
 .hha-cost-breakdown table{font-size:.82rem}
 .hha-cost-breakdown th,.hha-cost-breakdown td{padding:8px 5px}
}

/* v1.8 overall recommendation */
.hha-overall{margin:0 0 22px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card,#fff)}
.hha-overall-title{display:flex;justify-content:space-between;gap:18px;align-items:center}
.hha-overall-title h3{margin:.2rem 0}
.hha-overall-number{min-width:100px;text-align:center}
.hha-overall-number strong{display:block;font-size:2.35rem;line-height:1}
.hha-overall-number span{font-size:.8rem;color:var(--muted)}
.hha-overall-scale{height:30px;margin:16px 0 20px;border-radius:8px;position:relative;background:linear-gradient(90deg,#b23b35 0%,#e59d35 38%,#e5d94a 55%,#79b95a 75%,#25824b 100%)}
.hha-overall-scale i{position:absolute;top:-5px;width:4px;height:40px;background:#111;transform:translateX(-2px);border-radius:3px}
.hha-overall-scale span{position:absolute;top:34px;font-size:.72rem;color:var(--muted)}
.hha-overall-scale span:last-child{right:0}
.hha-score-list{margin-top:38px;display:grid;gap:12px}
.hha-score-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,2fr);gap:16px;align-items:center}
.hha-score-row>div:first-child span{display:block;font-size:.76rem;color:var(--muted)}
.hha-score-track{height:24px;border-radius:7px;background:linear-gradient(90deg,#b23b35 0%,#e59d35 38%,#e5d94a 55%,#79b95a 75%,#25824b 100%);position:relative;overflow:hidden}
.hha-score-track:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.58)}
.hha-score-track i{position:absolute;left:0;top:0;bottom:0;background:rgba(0,0,0,.18);z-index:1}
.hha-score-track strong{position:absolute;right:8px;top:2px;z-index:2;color:#111}
.hha-overall-summary{margin-top:18px;padding:13px 15px;background:#f3f7f5;border-radius:12px}
.hha-overall-summary p{margin:.45rem 0}
.hha-quick-guide{margin-top:7px;padding:7px 11px!important;font-size:.82rem!important;width:auto!important}
.hha-cost-breakdown td small{display:block;color:var(--muted);margin-top:4px}
.hha-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.hha-modal.hidden{display:none}
.hha-modal-card{position:relative;width:min(680px,100%);max-height:85vh;overflow:auto;background:#fff;color:#222;border-radius:18px;padding:24px}
.hha-modal-close{position:absolute;right:12px;top:10px;width:38px!important;height:38px;padding:0!important;border-radius:50%!important;font-size:1.5rem!important}
body.hha-modal-open{overflow:hidden}
.hha-layout>aside{align-self:start;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
@media(max-width:800px){
 .hha-score-row{grid-template-columns:1fr}
 .hha-layout>aside{position:static;max-height:none;overflow:visible}
}
@media(max-width:520px){
 .hha-overall-title{align-items:flex-start}
 .hha-overall-number{min-width:72px}
 .hha-overall-number strong{font-size:1.9rem}
}

/* v1.9 per-system scoring and finance priority */
.hha-system-scores{margin:14px 0 18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fafcfb}
.hha-system-score-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.hha-system-score-title strong{font-size:1.3rem}
.hha-system-scores .hha-score-row{margin:8px 0}
.hha-system-scores .hha-score-track{height:21px}
.hha-score-warning{margin:13px 0 0;padding:10px 12px;border-radius:10px;background:#fff4df}

/* v1.9.1 score-value alignment fix */
.hha-score-meter{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:10px;
  align-items:center;
}
.hha-score-track strong{
  display:none;
}
.hha-score-value{
  display:block;
  width:44px;
  text-align:right;
  font-size:1rem;
  line-height:1;
  white-space:nowrap;
  color:inherit;
}
@media(max-width:520px){
  .hha-score-meter{
    grid-template-columns:minmax(0,1fr) 40px;
    gap:8px;
  }
  .hha-score-value{
    width:40px;
    font-size:.95rem;
  }
}
