.field-label {
  display: flex;
  align-items: center;
  gap: 6px;
}

.form-back-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.form-actions .save-exit {
  border-color: #102f45;
  background: #fff;
  color: #102f45;
}

.form-actions .save-exit:hover,
.form-actions .save-exit:focus-visible {
  background: #102f45;
  color: #fff;
  outline: none;
}

.form-actions .save-exit:focus-visible {
  box-shadow: 0 0 0 3px #102f4530;
}

.form-actions .save-exit:disabled {
  cursor: wait;
  opacity: .65;
}

@media (max-width: 580px) {
  .form-actions { gap: 7px; }
  .form-back-actions { gap: 6px; }
  .form-actions .primary,
  .form-actions .secondary { padding: 10px; font-size: 9px; }
}

.ahri-reference-field .field-label {
  color: #4c6373;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.ahri-site-link {
  margin-left: 2px;
  color: #102f45;
  font: inherit;
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ahri-site-link:hover,
.ahri-site-link:focus-visible {
  color: #0878d1;
}

.ahri-site-link:focus-visible {
  border-radius: 2px;
  outline: 2px solid #0878d1;
  outline-offset: 2px;
}

.info-button {
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
  padding: 0;
  border: 1px solid #102f45;
  border-radius: 50%;
  background: #e9f5fc;
  color: #102f45;
  font: 800 8px Georgia, serif;
  text-transform: none;
  cursor: pointer;
}

.info-button:hover,
.info-button:focus-visible,
.info-button[aria-expanded="true"] {
  background: #102f45;
  color: #fff;
  outline: none;
}

.info-popover {
  display: none;
  margin-top: 7px;
  padding: 9px 10px;
  border: 1px solid #b8d7ea;
  border-radius: 7px;
  background: #eef8fe;
  color: #35566d;
  font-size: 8px;
  font-weight: 650;
  line-height: 1.5;
  text-transform: none;
}

.info-popover.open { display: block; }

.wall-direction-list { display: grid; gap: 8px; }

.wall-direction-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: end;
  gap: 7px;
}

.wall-direction-row select,
.wall-direction-row input { min-width: 0; }

.add-wall-direction {
  width: 100%;
  margin-top: 9px;
  border: 1px dashed #102f45;
  border-radius: 7px;
  background: #eef8fe;
  padding: 9px;
  color: #102f45;
  font: 800 8px Manrope, sans-serif;
  cursor: pointer;
}

.remove-wall-direction {
  width: 28px;
  height: 38px;
  border: 0;
  border-radius: 6px;
  background: #fff0ed;
  color: #a6422c;
  font: 800 14px Manrope, sans-serif;
  cursor: pointer;
}

.wall-direction-row:only-child .remove-wall-direction { visibility: hidden; }

.yes-no-control {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.yes-no-control button {
  border: 1px solid #b7cfdd;
  border-radius: 7px;
  background: #fff;
  padding: 10px;
  color: #4a6576;
  font: 800 9px Manrope, sans-serif;
  cursor: pointer;
}

.yes-no-control button.selected {
  border-color: #102f45;
  background: #102f45;
  color: #fff;
}

.wall-side-directions {
  display: grid;
  gap: 9px;
  margin-top: 11px;
  padding-top: 11px;
  border-top: 1px solid #d8e5ed;
}

.wall-side-directions[hidden] { display: none; }
.wall-side-directions small { display: block; margin-top: 4px; }

.room-basics { align-items: start; }

.dimension-direction {
  display: block;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid #d8e5ed;
  color: #102f45;
  font-size: 8px;
}

.dimension-direction[hidden] { display: none; }
.dimension-direction select { margin-top: 5px; }
.wall-answer-help { display: block; margin-top: 8px; line-height: 1.45; }

.dimension-wall-question {
  display: block;
  margin-top: 10px;
  color: #4c6373;
  font-size: 8px;
}

.yes-no-control.compact { margin-top: 5px; }
.yes-no-control.compact button { padding: 7px; }
.room-details.two-sections { grid-template-columns: 1.5fr 1fr; }

@media (max-width: 850px) {
  .room-details.two-sections { grid-template-columns: 1fr; }
}

.extra-wall-area { margin-top: 13px; }
.room-wall-insulation { max-width: 280px; margin-top: 13px; padding: 11px; border: 1px solid #d8e5ed; border-radius: 8px; background: #f7fbfd; }
.window-type-stack { min-width: 0; }
.window-glass-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.window-performance-fields { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: end; gap: 9px; margin-top: 11px; }
.nfrc-rating>.field-label { color: #4c6373; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.foundation-stack { display: grid; align-content: start; gap: 15px; min-width: 0; }
.home-yes-no { min-width: 0; }
.home-yes-no>.field-label { color: #4c6373; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.home-yes-no>small { display: block; margin: 4px 0 7px; color: #607989; font-size: 7px; line-height: 1.4; }
.duct-location-details { margin-top: 10px; padding-top: 10px; border-top: 1px solid #d8e5ed; }
.duct-location-details[hidden] { display: none; }
.skylight-details { display: grid; gap: 9px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #d8e5ed; }
.skylight-details[hidden], .skylight-custom[hidden] { display: none; }
.fireplace-details { display: grid; gap: 9px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #d8e5ed; }
.fireplace-details[hidden], .fireplace-custom[hidden] { display: none; }
.design-temperature-card { grid-column: 1 / -1; display: grid; grid-template-columns: 1.5fr .7fr .7fr; align-items: end; gap: 13px; padding: 14px; border: 1px solid #d8e5ed; border-radius: 9px; background: #f7f9fa; }
.design-temperature-card>div span,.design-temperature-card>div strong,.design-temperature-card>div small { display: block; }
.design-temperature-card>div span { color: #102f45; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.design-temperature-card>div strong { margin-top: 5px; color: #172a38; font-size: 10px; }
.design-temperature-card>div small { margin-top: 4px; color: #607989; font-size: 8px; line-height: 1.4; }
.design-temperature-card input[readonly] { background: #fff; color: #102f45; font-weight: 800; }
@media (max-width: 700px) { .design-temperature-card { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .window-performance-fields { grid-template-columns: 1fr; } }
.sliding-glass-details { display: grid; grid-template-columns: repeat(4,1fr); align-items: end; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #d8e5ed; }
.sliding-glass-details[hidden] { display: none; }
.door-nfrc-rating>.field-label { color: #4c6373; font-size: 9px; font-weight: 800; text-transform: uppercase; }
@media (max-width: 850px) { .sliding-glass-details { grid-template-columns: 1fr 1fr; } }
@media (max-width: 580px) { .sliding-glass-details { grid-template-columns: 1fr; } }
.attic-air-stack { display: grid; align-content: start; gap: 15px; min-width: 0; }
.air-testing-stack { display: grid; gap: 15px; min-width: 0; }
.window-lookup { margin-top: 9px; padding-top: 9px; border-top: 1px solid #d8e5ed; }
.window-lookup>strong { display: block; color: #4c6373; font-size: 8px; line-height: 1.4; }
.window-lookup>div { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 7px; margin-top: 5px; }
.window-lookup input { background: #fff; }
.window-lookup button:not(.info-button) { min-height: 36px; border: 0; border-radius: 7px; background: #102f45; padding: 0 10px; color: #fff; font: 800 8px Manrope,sans-serif; cursor: pointer; }
.window-lookup>small { display: block; margin-top: 4px; color: #607989; font-size: 7px; }
.window-lookup>p { min-height: 10px; margin: 4px 0 0; color: #14815d; font-size: 7px; font-weight: 800; }
.blower-door-card { padding: 11px; border: 1px solid #d8e5ed; border-radius: 8px; background: #fff; }
.blower-door-card>.field-label { color: #4c6373; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.blower-door-card>small { display: block; margin: 4px 0 8px; color: #607989; font-size: 7px; }
.blower-door-fields { display: grid; grid-template-columns: 1fr .75fr; gap: 7px; margin-top: 9px; padding-top: 9px; border-top: 1px solid #d8e5ed; }
.blower-door-fields[hidden] { display: none; }
.extra-wall-list { display: grid; gap: 8px; }
.extra-wall-row { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 9px; padding: 11px; border: 1px solid #d8e5ed; border-radius: 8px; background: #fff; }
.extra-wall-row button { width: 32px; height: 40px; border: 0; border-radius: 6px; background: #fff0ed; color: #a6422c; font: 800 14px Manrope,sans-serif; cursor: pointer; }
.add-extra-wall { margin-top: 8px; border: 1px dashed #102f45; border-radius: 7px; background: #f3f5f6; padding: 9px 12px; color: #102f45; font: 800 8px Manrope,sans-serif; cursor: pointer; }
.window-list { display: grid; gap: 8px; }
.window-row { display: grid; grid-template-columns: .65fr 1fr 1fr .85fr auto; align-items: end; gap: 7px; padding: 10px; border: 1px solid #d8e5ed; border-radius: 8px; background: #fff; }
.window-row button:not(.info-button) { width: 30px; height: 40px; border: 0; border-radius: 6px; background: #102f45; color: #fff; font: 800 14px Manrope,sans-serif; cursor: pointer; }
.add-window { margin-top: 8px; border: 1px dashed #102f45; border-radius: 7px; background: #f3f5f6; padding: 9px 12px; color: #102f45; font: 800 8px Manrope,sans-serif; cursor: pointer; }
.room-none-confirm { display: flex; align-items: center; gap: 7px; margin-top: 9px; padding: 8px 9px; border: 1px solid #d8e5ed; border-radius: 7px; background: #fff; color: #35566d; font-size: 8px; font-weight: 750; text-transform: none; }
.room-none-confirm input { width: 15px; height: 15px; margin: 0; accent-color: #102f45; }
.room-none-confirm.confirmation-conflict { border-color: #c45b36; background: #fff0ed; }

.room-opening-question { display: grid; gap: 7px; padding: 10px; border: 1px solid #d8e5ed; border-radius: 8px; background: #f7fbfd; }
.room-opening-question>strong { color: #102f45; font-size: 9px; line-height: 1.4; }
.room-opening-question .yes-no-control { max-width: 210px; }
.window-details,
.door-details { margin-top: 10px; }
.window-details[hidden],
.door-details[hidden] { display: none; }
.door-details .inline-fields { grid-template-columns: .65fr 1fr 1fr !important; }

.checker-version { display: inline-block !important; margin-top: 9px; padding: 5px 7px; border: 1px solid #ffffff45; border-radius: 6px; color: #fff !important; font-size: 7px !important; letter-spacing: .08em; }
.stale-checker-warning { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 16px 0; padding: 15px 17px; border: 2px solid #c45b36; border-radius: 10px; background: #fff0ed; }
.stale-checker-warning[hidden] { display: none; }
.stale-checker-warning div { display: grid; gap: 4px; }
.stale-checker-warning strong { color: #8f321f; font-size: 11px; }
.stale-checker-warning span { color: #6d463c; font-size: 9px; line-height: 1.5; }
.stale-checker-warning .primary { flex: 0 0 auto; text-decoration: none; }
.checker-stale #submit-j-only,
.checker-stale #demo-submit { cursor: not-allowed; opacity: .45; }

@media (max-width: 700px) {
  .stale-checker-warning { align-items: stretch; flex-direction: column; }
  .stale-checker-warning .primary { text-align: center; }
  .door-details .inline-fields { grid-template-columns: 1fr !important; }
}

@media (max-width: 580px) {
  .extra-wall-row { grid-template-columns: 1fr 1fr auto; }
  .window-row { grid-template-columns: 1fr 1fr; }
  .window-row button:not(.info-button) { grid-column: 1/-1; width: 100%; }
  .window-lookup>div { grid-template-columns: 1fr; }
}

@media (max-width: 580px) {
  .wall-direction-row { grid-template-columns: 1fr 1fr auto; }
}

.guided-self-check {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #b8d7ea;
  border-radius: 11px;
  background: #f5fbff;
}

.self-check-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.self-check-head>div>span,
.self-check-coach>span {
  color: #0878d1;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}

.self-check-head h3 { margin: 5px 0 0; color: #102f45; font-size: 16px; }
.self-check-head p { max-width: 700px; margin: 6px 0 0; color: #536d7d; font-size: 9px; line-height: 1.55; }
.self-check-head .secondary { flex: 0 0 auto; }

.self-check-list {
  display: grid;
  gap: 9px;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.self-check-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  border: 1px solid #d8e5ed;
  border-left: 4px solid #c45b36;
  border-radius: 8px;
  background: #fff;
}

.self-check-list li>div { display: grid; gap: 3px; }
.self-check-list li>div>span { color: #a6422c; font-size: 7px; font-weight: 900; letter-spacing: .1em; }
.self-check-list li strong { color: #172a38; font-size: 10px; }
.self-check-list li small { color: #607989; font-size: 8px; line-height: 1.45; }

.self-check-help-button {
  flex: 0 0 auto;
  border: 1px solid #102f45;
  border-radius: 7px;
  background: #102f45;
  padding: 9px 11px;
  color: #fff;
  font: 800 8px Manrope, sans-serif;
  cursor: pointer;
}

.self-check-help-button:hover,
.self-check-help-button:focus-visible { background: #0878d1; outline: 2px solid #9bd5f5; outline-offset: 2px; }

.self-check-list .self-check-clear {
  justify-content: start;
  border-left-color: #14815d;
  color: #14815d;
}

.self-check-clear { display: grid !important; gap: 3px !important; }
.self-check-clear span { color: #536d7d; font-size: 8px; }

.self-check-coach {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 30;
  width: min(390px, calc(100vw - 32px));
  padding: 18px;
  border: 1px solid #6eb6e0;
  border-top: 5px solid #102f45;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 50px #102f4530;
}

.self-check-coach[hidden] { display: none; }
.self-check-coach h3 { margin: 5px 26px 0 0; color: #102f45; font-size: 16px; line-height: 1.25; }
.self-check-coach>p { margin: 8px 0 0; color: #35566d; font-size: 10px; line-height: 1.55; }
.self-check-coach>small { display: block; margin-top: 10px; padding: 9px; border-radius: 7px; background: #eef8fe; color: #536d7d; font-size: 8px; line-height: 1.5; }
.self-check-coach .self-check-status { color: #14815d; font-weight: 800; }

.self-check-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 27px;
  height: 27px;
  border: 0;
  border-radius: 50%;
  background: #eef3f6;
  color: #102f45;
  font: 800 16px Manrope, sans-serif;
  cursor: pointer;
}

.self-check-coach-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.self-check-coach-actions button { min-width: 94px; }

.self-check-target {
  border-radius: 7px;
  outline: 3px solid #ffb648 !important;
  outline-offset: 4px;
  box-shadow: 0 0 0 8px #ffb64824;
}

@media (max-width: 700px) {
  .self-check-head,
  .self-check-list li { align-items: stretch; flex-direction: column; }
  .self-check-help-button { width: 100%; }
  .self-check-coach { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
}
