/* Compact application controls override the site's spacious form defaults. */
.calc-launch-page { padding-block: 18px 30px; }
.calc-launch-page .breadcrumbs { margin-bottom: 22px; }
.calc-launch { max-width: none; display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px; align-items: start; }
.calc-launch > .eyebrow, .calc-launch > h1, .calc-launch__lead, .calc-launch__cta { grid-column: 1 / -1; }
.calc-launch h1 { margin-bottom: 12px; }
.calc-launch__cta { margin-bottom: 22px; }
.calc-launch .calc-callout { margin-top: 0; grid-row: span 3; }
.calc-launch .calc-hero__subtext { max-width: none; margin-top: 0; margin-bottom: 12px; }
.calc-launch__grid { margin-top: 16px; }
.workspace-ready { font-size: 13px; line-height: 1.4; }
.workspace-ready .calc-app__frame { padding: 8px 12px; }
.workspace-ready .btn { min-height: 30px; padding: 6px 10px; border-radius: 5px; font-size: 12px; gap: 5px; }
.workspace-ready .calc-app__header { gap: 6px; padding-bottom: 6px; margin-bottom: 6px; }
.workspace-ready .calc-app__brand h2 { font-size: 15px; margin: 0; }
.workspace-ready .calc-app__toolbar { padding: 6px; gap: 6px; margin-bottom: 8px; }
.workspace-ready .calc-app__body { overflow: auto; overscroll-behavior: contain; }
.workspace-ready .calc-app__content { height: 100%; padding: 0; }
.workspace-ready .calc-layout { height: 100%; grid-template-columns: minmax(220px, .75fr) minmax(480px, 1.9fr) minmax(250px, .9fr); gap: 10px; }
.workspace-ready .workspace-stage, .workspace-ready .workspace-settings, .workspace-ready .workspace-results { min-width: 0; min-height: 0; }
.workspace-ready .calc-col--sticky { position: static; }
.workspace-ready .calc-panel, .workspace-ready .calc-results { border-radius: 8px; box-shadow: none; border-color: #d3dae1; }
.workspace-ready .calc-panel + .calc-panel { margin-top: 8px; }
.workspace-ready .calc-panel > summary { padding: 9px 10px; font-size: 13px; cursor: default; }
.workspace-ready .workspace-stage > .calc-panel > summary, .workspace-ready .workspace-settings > .calc-panel > summary { pointer-events: none; }
.workspace-ready .calc-summary { font-size: 11px; }
.workspace-ready .calc-panel__body, .workspace-ready .calc-results { padding: 10px; overflow: visible; }
.workspace-ready .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 12px; }
.workspace-ready .field { gap: 3px; }
.workspace-ready .field label { font-size: 12px; line-height: 1.35; }
.workspace-ready input, .workspace-ready select, .workspace-ready textarea { min-height: 30px; height: 30px; padding: 4px 7px; border-radius: 4px; font-size: 13px; line-height: 1.3; }
.workspace-ready textarea { min-height: 62px; height: 62px; }
.workspace-ready .calc-table { min-width: 0; table-layout: fixed; font-size: 12px; }
.workspace-ready .calc-table th, .workspace-ready .calc-table td { padding: 4px 6px; font-size: 12px; overflow-wrap: anywhere; }
.workspace-ready #actualTable thead th { width: 22% !important; }
.workspace-ready #actualTable thead th:first-child { width: 34% !important; }
.workspace-ready .calc-table-wrap { overflow: visible; border-radius: 5px; }
.workspace-ready .calc-table thead th { position: static; }
.workspace-ready .calc-el-title { font-size: 12px; line-height: 1.2; }
.workspace-ready .calc-el-meta { font-size: 10px; line-height: 1.15; margin-top: 1px; }
.workspace-ready .calc-divider td { padding-block: 4px; }
.workspace-ready .workspace-stage .hint { margin-bottom: 8px; }
.workspace-ready .workspace-settings .form-grid { grid-template-columns: 1fr; }
.workspace-ready .workspace-settings .calc-summary { display: none; }
.workspace-ready .calc-roof-map { margin-top: 8px; border: 1px solid #d3dae1; border-radius: 8px; padding: 10px; background: white; }
.workspace-ready .calc-roof-map__title { font-size: 13px; margin-bottom: 9px; }
.workspace-ready .calc-completeness { margin-top: 12px; }
.workspace-ready .calc-kpis { grid-template-columns: 1fr 1fr; margin-top: 9px !important; gap: 6px; }
.workspace-ready .workspace-settings .calc-kpis { grid-template-columns: 1fr; }
.workspace-ready .kpi { border-radius: 5px; padding: 8px; }
.workspace-ready .kpi__label, .workspace-ready .kpi__unit { font-size: 11px; line-height: 1.3; }
.workspace-ready .kpi__value { font-size: 21px; }
.workspace-ready .calc-results__top h3 { font-size: 16px; }
.workspace-ready .badge { padding: 4px 7px; font-size: 10px; white-space: normal; text-align: center; }
.workspace-ready .calc-results__line { margin: 10px 0; }
.workspace-ready .calc-results__line + .calc-results__line { display: none; }
.workspace-ready .calc-mini { gap: 8px; }
.workspace-ready .calc-mini__row { font-size: 12px; gap: 8px; }
.workspace-ready .hint, .workspace-ready .calc-hint, .workspace-note { font-size: 11px; line-height: 1.4; }
.workspace-ready .workspace-results > .btn, .workspace-ready .workspace-settings > .btn { margin-top: 8px; width: 100%; }
.workspace-note { color: #536159; margin-top: 8px; }
.workspace-ready .workspace-has-issues { color: #8e2727; border-color: #c98b8b; background: #fff3f3; }
.workspace-ready .calc-field-label { align-items: center; gap: 5px; }
.workspace-ready .calc-field-label label { padding-top: 0; }
.workspace-ready .help-icon { width: 24px; min-width: 24px; height: 24px; font-size: 12px; }
.workspace-ready .workspace-field-hidden { display: none !important; }
.workspace-ready .chip { font-size: 10px; padding: 3px 5px; }
.workspace-ready .calc-actions { margin: 0 0 8px !important; gap: 6px; }
.workspace-ready .row-issues { padding: 7px; font-size: 11px; margin-top: 8px; }
.workspace-ready .row-issues ul { margin-block: 4px 0; padding-left: 18px; }
.workspace-dialog { position: absolute; inset: 0; z-index: 4000; background: #102b2166; display: grid; place-items: center; padding: 20px; }
.workspace-dialog__surface { width: min(960px, 100%); max-height: 100%; display: flex; flex-direction: column; background: #fff; border-radius: 10px; box-shadow: 0 16px 70px #102b2133; }
.workspace-ready .workspace-dialog__head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #d3dae1; }
.workspace-ready .workspace-dialog__head h2 { font-size: 17px; margin: 0; }
.workspace-dialog__body { padding: 16px; overflow: auto; overscroll-behavior: contain; }
.workspace-dialog__body > * + * { margin-top: 14px; }
.workspace-ready .workspace-dialog .calc-panel > summary { display: none; }
.workspace-ready .workspace-dialog .calc-panel { box-shadow: none; border: none; }
.workspace-ready .workspace-dialog .calc-panel__body { padding: 0; }
.workspace-ready .workspace-dialog .calc-table { table-layout: auto; }
.workspace-ready .workspace-dialog .calc-table td, .workspace-ready .workspace-dialog .calc-table th { padding: 8px; }
.workspace-ready .workspace-dialog .calc-hint, .workspace-ready .workspace-dialog .hint { font-size: 12px; }
.workspace-ready .workspace-dialog .calc-table-wrap { overflow: auto; }
.workspace-ready .workspace-dialog .calc-kpis { margin-bottom: 10px; }
@media (min-width: 1600px) {
  .workspace-ready .calc-layout { grid-template-columns: 280px minmax(0, 1fr) 340px; }
}

/* Guided workspace: a clear route on the left, one task in the centre, and
   live results plus the next actionable check on the right. */
.journey-app .calc-layout { grid-template-columns: 170px minmax(0,1fr) 290px; gap: 14px; }
.journey-app { font-size: 14px; }
.journey-app .btn { min-height: 34px; font-size: 13px; padding: 7px 11px; }
.journey-app input, .journey-app select { min-height: 34px; height: 34px; font-size: 14px; }
.journey-app .field label { font-size: 13px; }
.journey-app .workspace-stage { display: flex; flex-direction: column; border: 1px solid #d3dae1; background: white; border-radius: 9px; padding: 14px; }
.journey-stage { flex: 1; min-height: 0; overflow: auto; }
.journey-view > .calc-panel { border: 0; margin: 0; }
.journey-view > .calc-panel > summary { display: none; }
.journey-view .calc-panel__body { padding: 0; }
.journey-view .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 16px; }
.journey-view .field--third { grid-column: auto; }
.journey-view .field--full { grid-column: 1 / -1; }
.journey-heading { margin-bottom: 15px; }
.journey-heading h3 { font-size: 23px; margin: 0 0 5px; }
.journey-heading > p:last-child { font-size: 13px; line-height: 1.45; color: #59666f; margin: 0; }
.journey-heading .journey-step-label { font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #58738a; margin: 0 0 5px; }
.journey-nav { display: grid; gap: 8px; }
.journey-nav .btn { text-align: left; justify-content: flex-start; border: 1px solid transparent; background: transparent; border-radius: 7px; min-height: 46px; font-size: 14px; }
.journey-app .journey-nav .btn[aria-current="step"] { background: #274b6d; color: white; border-color: #274b6d; }
.journey-support { display: block; font-size: 12px; margin-top: 26px; line-height: 1.5; }
.journey-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #d3dae1; flex: none; }
.journey-footer span { font-size: 12px; color: #59666f; }
.journey-app .calc-roof-map { padding: 12px; margin-top: 12px; }
.journey-app .calc-roof-map .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.journey-app .calc-table th, .journey-app .calc-table td { font-size: 13px; padding-block: 3px; }
.journey-app .calc-table input { height: 30px; min-height: 30px; }
.journey-app .calc-results { padding: 12px; }
.journey-app .calc-kpis .kpi__value { font-size: 21px; }
.journey-coach { border: 1px solid #c9d6e0; background: #f4f8fb; border-radius: 8px; padding: 12px; margin-top: 10px; display: flex; flex-direction: column; gap: 7px; }
.journey-coach h3 { font-size: 16px; margin: 0; order: -2; }
.journey-check-count { font-size: 11px; color: #526b7d; margin: 0; order: -1; }
.journey-check-message { font-size: 13px; line-height: 1.5; margin: 0; }
.journey-coach > .btn { width: 100%; }
.journey-coach > .btn:first-of-type { order: 4; }
.journey-pdf-note { font-size: 11px; line-height: 1.5; color: #52616f; margin: 0; }
.journey-app .journey-target { outline: 3px solid #d68a29; outline-offset: 3px; background: #fffbee; }
.journey-app .workspace-dialog__body > .btn { display: block; width: 100%; text-align: left; white-space: normal; line-height: 1.5; }
.journey-app .tool-guide { width: 100%; padding: 0; }
.journey-app .tool-guide__chapters { grid-template-columns: 1fr; }
.journey-app .journey-review-note { font-size: 14px; margin-top: 20px; }
@media (max-width:1099px) {
  .journey-app .calc-layout { grid-template-columns: minmax(0,1fr) 280px; }
  .journey-app .workspace-settings { grid-column: 1 / -1; }
  .journey-app .workspace-results { grid-column: auto; }
  .journey-nav { display: flex; flex-wrap: wrap; }
  .journey-app .workspace-settings > p, .journey-support { display: none; }
}
@media (max-width:760px) {
  .journey-app .calc-layout { grid-template-columns: 1fr; }
  .journey-app .journey-stage { overflow: visible; }
  .journey-app .journey-view .form-grid, .journey-app .calc-roof-map .form-grid { grid-template-columns: 1fr; }
  .journey-app .workspace-stage { padding: 10px; }
  .journey-nav .btn { min-height: 38px; padding: 6px 9px; font-size: 12px; }
}
/* Compact laptop view retains the whole working surface. Small screens and
   browser zoom reflow instead of hiding controls or shrinking text further. */
@media (max-width: 1099px), (max-height: 699px) {
  .workspace-ready .calc-app__body { overflow: auto; }
  .workspace-ready .calc-app__content, .workspace-ready .calc-layout { height: auto; }
  .workspace-ready .calc-layout { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.5fr); }
  .workspace-ready .workspace-results { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .calc-launch { grid-template-columns: 1fr; }
  .calc-launch .calc-callout { grid-row: auto; }
  .workspace-ready .calc-layout { grid-template-columns: 1fr; }
  .workspace-ready .calc-app__toolbar { flex-wrap: wrap; }
  .workspace-ready .calc-app__toolbar .btn { flex: 0 1 auto; }
  .workspace-ready .calc-app__brand { width: auto; }
  .workspace-ready .calc-app__header-actions { width: auto; }
  .workspace-ready .form-grid { grid-template-columns: 1fr; }
  .workspace-ready .workspace-dialog .field { grid-column: 1 / -1; }
  .workspace-dialog { padding: 8px; }
  .workspace-ready .calc-summary { width: auto; }
  .workspace-ready .calc-kpis { grid-template-columns: 1fr 1fr; }
  .workspace-ready .calc-actions .btn { flex: 0 1 auto; width: auto; }
}
@media(min-width:1100px) and (min-height:700px){
  .journey-app .calc-layout { grid-template-rows:minmax(0,1fr); }
  .journey-app .workspace-stage { height:100%; }
}
@media(max-width:1099px){
  .journey-app .calc-layout { grid-template-columns:minmax(0,1fr) 280px; }
  .journey-app .workspace-results { grid-column:auto; }
}
@media(max-width:760px){
  .journey-app .calc-layout { grid-template-columns:1fr; }
  .journey-app .journey-view .form-grid { grid-template-columns:1fr; }
}
