.gainable-page .g-project { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 24px 28px; border-bottom: 1px solid #cbdbe2; color: #254c5e; }
.gainable-page .g-project h2 { font-size: 20px; margin: 0 0 12px; }
.gainable-page .g-project h3 { font-size: 17px; margin: 0 0 12px; }
.gainable-page .g-project p { font-size: 13px; line-height: 1.5; margin: 12px 0; }
.gainable-page #g-thermal-project { margin-top: 24px; }
.gainable-page #g-project-status:empty { display: none; }
.gainable-page .g-project > :last-child { margin-bottom: 0; }
.gainable-page .g-report-tools { margin: 28px 0 0; }
@media(max-width:540px) {
  .gainable-page .g-project { padding: 20px 16px; }
  .gainable-page #g-thermal-project { margin-top: 20px; }
}
.g-project-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.gainable-page .g-project button { padding: 11px 15px; background: white; color: #275362; border: 1px solid #a9bec9; border-radius: 5px; font: 700 13px Arial,sans-serif; min-height: 44px; cursor: pointer; }
.gainable-page .g-project button:disabled { opacity: .45; cursor: not-allowed; }
.g-project-actions label { display: grid; gap: 6px; font-size: 13px; min-width: 0; }
.g-project-actions input { max-width: 100%; width: 220px; min-height: 40px; border: 1px solid #a9bec9; padding: 8px; border-radius: 5px; background: white; color: #21333c; }
.g-project-table { overflow-x: auto; }
.g-project table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.g-project th, .g-project td { text-align: left; padding: 9px 5px; border-bottom: 1px solid #cbdbe2; overflow-wrap: anywhere; }
.g-project [hidden] { display: none !important; }
.g-project button:focus-visible, .g-project input:focus-visible { outline: 3px solid #079da5; outline-offset: 3px; }
.gainable-page .g-room-actions { flex-wrap: wrap; }
.gainable-page #g-room-count { flex-basis: 100%; }
.gainable-page .g-room-actions button { flex: 1 1 130px; min-height: 40px; }
.gainable-page [data-control="salon2"] { margin-bottom: 12px; }
.g-project-comparison { margin: 16px 0; padding: 16px 0; border-top: 1px solid #cbdbe2; border-bottom: 1px solid #cbdbe2; }
.g-project-comparison summary, .g-project-settings summary { cursor: pointer; font-weight: 700; margin: 0; }
.g-project-comparison[open] > summary, .g-project-settings[open] > summary { margin-bottom: 12px; }
.g-project-settings summary:focus-visible, .g-project-comparison summary:focus-visible { outline: 3px solid #079da5; outline-offset: 3px; }
.g-project-settings > :last-child { margin-bottom: 0; }
.g-project-comparison th:first-child { width: 46%; }
.g-project-comparison td { font-variant-numeric: tabular-nums; }
.g-project #g-study-summary { width: 100%; margin-top: 12px; font: inherit; }
#g-project-report { display: none; }
.gainable-page .g-room-control { display: grid; grid-template-columns: minmax(0,1fr) 20px; align-items: center; column-gap: 4px; }
.gainable-page .g-room-control > span { grid-column: 1; grid-row: 1; }
.gainable-page .g-room-control > small { grid-column: 1 / -1; grid-row: 2; }
.gainable-page .g-room-control input.g-room-toggle { grid-column: 2; grid-row: 1; appearance: auto; display: block; width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; accent-color: #16775b; justify-self: center; }
@media(max-width:540px) {
  .gainable-page .gainable-label.g-room-control { width: 88px; min-height: 28px; }
  .gainable-page .gainable-demo[data-bedrooms="5"] .g-room-control { width: 82px; }
}
@media print {
  body.g-report-available > #g-project-report:has(.g-project-paper) { display: block !important; }
  #g-project-report { width: 190mm; max-width: 100%; margin: 0 auto; color: #173e50; font: 10pt/1.45 Arial,sans-serif; }
  #g-project-report .g-project-paper { break-before: page; padding-top: 4mm; }
  #g-project-report h2 { font-size: 18pt; margin: 4mm 0; }
  #g-project-report h3 { font-size: 12pt; margin: 5mm 0 2mm; }
  #g-project-report p { margin: 3mm 0; }
  #g-project-report .g-project-table { overflow: visible; }
  #g-project-report table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 5mm 0; font-size: 9pt; }
  #g-project-report th, #g-project-report td { border-bottom: 1px solid #cbdbe2; text-align: left; padding: 2mm; overflow-wrap: anywhere; }
  #g-project-report th { background: #eaf2f5; }
  #g-project-report tr { break-inside: avoid; }
  #g-project-report th:first-child { width: 30%; }
}
