/* QA1125: Miscellaneous Project readability and contained proposal rail.
   The live inspector is .hgc-shared-service-rail, not the retired work rail. */

.premium-app .hgc-root .hgc-mx-page,
.premium-app .hgc-root .hgc-mx-page * {
  text-rendering: optimizeLegibility;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-mx-rail {
  display: none !important;
}

.premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 0 !important;
  align-items: start !important;
  gap: 16px !important;
  padding: 12px !important;
  overflow: visible !important;
}

/* The shared rail is in this page's grid, so the legacy fixed-rail gutter must
   not continue subtracting 320-370px from the Miscellaneous builder. */
.premium-app .hgc-root .hgc-estimator-page.hgc-mx-page:has(> .hgc-price-center.hgc-shared-service-rail) {
  padding: 12px !important;
}

.premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) > .hgc-mx-shell {
  grid-column: 1;
  grid-row: 1;
  order: 0 !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 16px 6px 36px !important;
}

.premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) > .hgc-price-center.hgc-shared-service-rail {
  order: 0 !important;
  position: static !important;
  inset: auto !important;
  align-self: start !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: auto !important;
}

@media (min-width: 1281px) {
  .premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(320px, 23vw, 370px) !important;
  }

  .premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) > .hgc-price-center.hgc-shared-service-rail {
    grid-column: 2;
    grid-row: 1;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 360px) !important;
    gap: 16px !important;
  }
}

@media (max-width: 1280px) {
  .premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) > .hgc-price-center.hgc-shared-service-rail {
    grid-column: 1;
    grid-row: 2;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-summary {
    position: static !important;
    top: auto !important;
    width: 100%;
    min-width: 0;
  }
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-head {
  min-height: 108px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #30485c;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-head p {
  margin-bottom: 10px;
  font-size: 14px !important;
  line-height: 1.4;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-head h3 {
  margin-bottom: 8px;
  font-size: clamp(32px, 3vw, 38px) !important;
  line-height: 1.08;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-head > div > span {
  font-size: 15px !important;
  line-height: 1.45;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-head nav button {
  min-height: 50px !important;
  padding-inline: 22px;
  font-size: 14px !important;
  font-weight: 750;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-steps {
  width: 100%;
  max-width: none;
  margin: 16px 0;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-steps button {
  min-height: 52px !important;
  gap: 12px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-steps b {
  width: 36px;
  height: 36px;
  font-size: 15px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-steps span {
  font-size: 14px !important;
  font-weight: 700;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-layout > main {
  gap: 14px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-card {
  grid-template-columns: 82px minmax(0, 1fr);
  padding: 17px 20px;
  border-radius: 10px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-card > span {
  width: 60px;
  height: 60px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-card h4 {
  margin-bottom: 12px;
  font-size: 20px !important;
  line-height: 1.25;
}

.premium-app .hgc-root .hgc-mx-page :is(input:not([type="checkbox"]), select, textarea) {
  min-height: 46px !important;
  padding: 9px 13px;
  font-size: 15px !important;
  line-height: 1.35;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-define .fields {
  gap: 13px 18px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-define label {
  gap: 6px;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1.35;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-define .notes textarea {
  min-height: 76px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-define footer {
  margin-top: 14px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-define footer small {
  margin-bottom: 7px;
  font-size: 12px !important;
  line-height: 1.4;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-define footer nav button,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-define .ai,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-price footer > button,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-scope nav button,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-scope .addon {
  min-height: 40px !important;
  font-size: 13px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-method > div > nav {
  gap: 13px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-method nav button {
  grid-template-columns: 54px minmax(0, 1fr);
  min-height: 80px;
  padding: 10px 12px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-method nav button strong {
  font-size: 14px !important;
  line-height: 1.25;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-method nav button small {
  margin-top: 5px;
  font-size: 12px !important;
  line-height: 1.35;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-method > div > p {
  min-height: 40px;
  margin-top: 10px;
  padding: 8px 12px;
  font-size: 12px !important;
  line-height: 1.4;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price > div > header {
  padding: 0 8px 6px;
  font-size: 12px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price .rows {
  gap: 8px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price .rows .price-row {
  min-height: 52px;
  padding: 6px 9px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price .price-detail strong {
  font-size: 14px !important;
  line-height: 1.25;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price .price-detail em {
  font-size: 12px !important;
  line-height: 1.3;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price .money-field > span,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-price .money-field > input {
  font-size: 14px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price .money-field > input {
  min-height: 40px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-price footer label,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-price > div > small,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-price > div > nav button,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-price > div > p {
  font-size: 13px !important;
  line-height: 1.4;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-scope textarea {
  min-height: 96px !important;
  font-size: 15px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary {
  padding: 18px;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary h4 {
  font-size: 21px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary header b,
.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary :is(dt, dd),
.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary .meter-labels {
  font-size: 13px !important;
  line-height: 1.4;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary .customer span {
  font-size: 18px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary .customer strong {
  font-size: 34px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary section h5 {
  font-size: 14px !important;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary section p {
  font-size: 13px !important;
  line-height: 1.45;
}

.premium-app .hgc-root .hgc-mx-page .hgc-mx-summary .continue {
  min-height: 54px;
  font-size: 14px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail {
  font-size: 14px;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail details > summary > span {
  font-size: 12px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-current-item-body strong,
.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-current-service > header strong,
.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-whole-proposal > header strong {
  font-size: 15px !important;
  line-height: 1.25;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-current-item-body small,
.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-current-service > header small {
  font-size: 12px !important;
  line-height: 1.35;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-current-item-body > b {
  font-size: 18px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-current-service > header > b {
  font-size: 21px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail :is(dt, dd) {
  font-size: 13px !important;
  line-height: 1.4;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail section h4 {
  font-size: 14px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail section p {
  font-size: 12px !important;
  line-height: 1.45;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-proposal-table .head span {
  font-size: 11px !important;
  line-height: 1.2;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-proposal-table button strong {
  font-size: 13px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-proposal-table button :is(em, small, b) {
  font-size: 12px !important;
  line-height: 1.3;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-customer-total small,
.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-customer-total span {
  font-size: 12px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .hgc-shared-customer-total strong {
  font-size: 28px !important;
}

.premium-app .hgc-root .hgc-mx-page > .hgc-shared-service-rail .home-repair-service-rail-workflow :is(button, a, select) {
  font-size: 14px !important;
  line-height: 1.3;
}

.premium-app .home-repair-service-rail-workflow .proposal-flow-preview:not(:disabled) {
  cursor: pointer;
  opacity: 1;
}

.premium-app .home-repair-service-rail-workflow .proposal-flow-preview:not(:disabled):is(:hover, :focus-visible) {
  border-color: #7bb6ff !important;
  outline: 2px solid rgba(123, 182, 255, .65);
  outline-offset: 2px;
}

@media (max-width: 1100px) {
  .premium-app .hgc-root .hgc-mx-page .hgc-mx-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-summary {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 780px) {
  .premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) {
    gap: 12px !important;
    padding: 10px !important;
  }

  .premium-app .hgc-root .hgc-mx-page:has(> .hgc-shared-service-rail) > .hgc-mx-shell {
    padding: 12px 0 26px !important;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-head {
    display: grid;
    gap: 14px;
    min-height: 0 !important;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-head nav {
    width: 100%;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-head nav button {
    flex: 1 1 0;
    justify-content: center;
    min-width: 0;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-define footer {
    display: grid;
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-define footer > div:last-child {
    text-align: left;
  }
}

@media (max-width: 520px) {
  .premium-app .hgc-root .hgc-mx-page .hgc-mx-head nav,
  .premium-app .hgc-root .hgc-mx-page .hgc-mx-method > div > nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .premium-app .hgc-root .hgc-mx-page .hgc-mx-steps button:not(:last-child)::after {
    display: none;
  }
}

