/* ================================================================
   EFFECTIVE THICKNESS TOOL — SITE STYLES
   ================================================================ */

:root {
    --eastman-blue: #005695;
    --eastman-blue-dark: #003865;
    --eastman-green: #15965f;
    --acc-bg: #e8f4fb;
    --acc-border: #c0ddf0;
    --panel-blue: #e5f6fa;
    --panel-border: #bfe6f0;
    --text: #1a1a1a;
    --text-muted: #242424;
    --border-light: #d8e4ee;
    --field-bg: #ffffff;
    --required-color: #888888;
}

* { box-sizing: border-box; }

body.sw-body {
    margin: 0;
    background: #ffffff;
    color: #1f1f1f;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4;
}

/* Hide native number-input spinner controls across the page */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* ================================================================
   LAYOUT SHELL
   ================================================================ */

.calc-shell {
    padding: 0;
    max-width: 1420px;
    margin: 0 auto;
}

/* Top bar (hidden — title is now in page header) */
.calc-topbar { display: none; }

/* ================================================================
   PAGE HEADER BAR
   ================================================================ */

.page-header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 18px 24px 0;
    padding: 14px 18px;
    background: #f4f4f4;
    border: 0;
}

.page-header-content { flex: 1; }

.page-title {
    margin: 0;
    font-family: Calibri, "Segoe UI", Arial, sans-serif;
    font-size: 40px;
    font-weight: 700;
    color: #1f1f1f;
    line-height: 1;
}

.page-subtitle {
    margin: 4px 0 0;
    font-size: 22px;
    line-height: 1.2;
    color: #333333;
}

.btn-methodology {
    margin-left: 12px;
    padding: 8px 26px;
    background: #ffffff;
    border: 1.5px solid #4b4b4b;
    border-radius: 999px;
    color: #1f1f1f;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    flex-shrink: 0;
    display: none;
}

.btn-methodology:hover {
    background: #e6e6e6;
    color: #111111;
}

/* ================================================================
   TWO-COLUMN MAIN LAYOUT
   ================================================================ */

.calc-page {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0 30px 30px;
    gap: 18px;
    width: 1440px;
    height: auto;
    background: #E6E6E6;
    border: 1px solid #E6E6E6;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 20px 20px 34px;
    gap: 20px;
    width: 446px;
    height: auto;
    max-height: 2174px;
    overflow-y: visible;
    background: #FFFFFF;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-step-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 20px;
    width: 100%;
    height: 22px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
    cursor: pointer;
}

.calc-input-step-left {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 6px;
    width: 327px;
    height: 22px;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-step-status-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2px 0 0;
    gap: 10px;
    width: 14px;
    height: 17px;
    background: #FFFFFF;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-step-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 12px;
    line-height: 14px;
    color: #ED1B2E;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-step-status-icon::before {
    content: "\f071";
    display: block;
    width: 14px;
    text-align: center;
    line-height: 14px;
}

.calc-input-step-header.is-valid .calc-input-step-status-icon {
    color: #3D8B3D;
}

.calc-input-step-header.is-valid .calc-input-step-status-icon::before {
    content: "\f00c";
}

.calc-input-step-title {
    width: 307px;
    height: 22px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #3D8B3D;
    flex: none;
    order: 1;
    flex-grow: 0;
}

.calc-input-step-label {
    color: #3D8B3D;
}

.calc-input-step-name {
    color: #005695;
}

.calc-input-step-header.is-invalid .calc-input-step-title {
    color: #ED1B2E;
}

.calc-input-step-header.is-invalid .calc-input-step-label {
    color: #ED1B2E;
}

.calc-input-step-chevron {
    width: 59px;
    height: 21px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 18px;
    line-height: 21px;
    text-align: right;
    color: #005695;
    flex: none;
    order: 1;
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.calc-input-panel-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
}

.calc-input-panel.is-collapsed .calc-input-panel-body {
    display: none;
}

.calc-input-content-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 74px;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-content-form-interlayer {
    width: 406px;
    height: 74px;
    flex: none;
    order: 2;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-content-form-glass2 {
    width: 406px;
    height: 74px;
    flex: none;
    order: 3;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-content-form-interlayer2 {
    width: 406px;
    height: 74px;
    flex: none;
    order: 4;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-content-form-glass3 {
    width: 406px;
    height: 74px;
    flex: none;
    order: 5;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-add-third-layer-btn {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
    gap: 10px;
    width: 406px;
    height: 41px;
    border: 1px solid #005695;
    border-radius: 144px;
    background: #FFFFFF;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
    color: #005695;
    cursor: pointer;
    flex: none;
    order: 6;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-divider-line {
    width: 406px;
    height: 0;
    border-top: 1px solid #888888;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    flex: none;
    order: 7;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-support-section {
    width: 406px;
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: none;
    order: 8;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-support-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 406px;
}

.calc-input-support-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0;
    gap: 0;
    width: 406px;
    height: auto;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
    cursor: pointer;
}

.calc-input-support-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 20px;
    width: 100%;
    min-height: 22px;
}

.calc-input-support-left {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 6px;
    width: 380px;
    min-height: 22px;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-support-status-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2px 0 0;
    gap: 10px;
    width: 14px;
    height: 22px;
    background: #FFFFFF;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-support-status-icon {
    width: 14px;
    height: 14px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 12px;
    line-height: 14px;
    color: #3D8B3D;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-support-status-icon::before {
    content: "\f00c";
}

.calc-input-support-header.is-invalid .calc-input-support-status-icon {
    color: #ED1B2E;
}

.calc-input-support-header.is-invalid .calc-input-support-status-icon::before {
    content: "\f071";
}

.calc-input-support-title {
    width: 360px;
    height: auto;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #3D8B3D;
    flex: none;
    order: 1;
    flex-grow: 0;
}

.calc-input-support-label {
    color: #3D8B3D;
}

.calc-input-support-name {
    color: #005695;
}

.calc-input-support-header.is-invalid .calc-input-support-label {
    color: #ED1B2E;
}

.calc-input-support-chevron {
    width: 6px;
    height: 21px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 18px;
    line-height: 21px;
    text-align: right;
    color: #005695;
    flex: none;
    order: 1;
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.calc-input-support-helper {
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #242424;
    padding-left: 0;
    margin-top: 0;
}

.calc-input-support-required-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 17px;
    flex: none;
    order: 9;
    align-self: stretch;
    flex-grow: 0;
    margin-top: 20px;
}

.calc-input-support-required-frame {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 17px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-support-required-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 17px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-support-required-text {
    width: 406px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    text-align: right;
    color: #888888;
    flex: none;
    order: 0;
    flex-grow: 1;
}

.calc-input-support-options {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0;
    gap: 16px;
    width: 406px;
    height: 116px;
    flex: none;
    order: 10;
    flex-grow: 0;
    margin-top: 16px;
}

.calc-input-support-options-s2 {
    flex: none;
    order: 11;
    flex-grow: 0;
    margin-top: 16px;
}

.calc-input-support-options-s4 {
    flex: none;
    order: 12;
    flex-grow: 0;
    margin-top: 16px;
}

.calc-input-support-divider-line {
    width: 406px;
    height: 0;
    border-top: 1px solid #888888;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    flex: none;
    order: 13;
    align-self: stretch;
    flex-grow: 0;
    margin-top: 16px;
}

.calc-input-panel-step3 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 406px;
    flex: none;
    order: 14;
    align-self: stretch;
    flex-grow: 0;
    gap: 0;
}

.calc-input-panel-step3-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 20px;
    width: 406px;
    height: auto;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
    cursor: pointer;
}

.calc-input-panel-step3-left {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 6px;
    width: 370px;
    min-height: 22px;
    flex: none;
    order: 0;
    flex-grow: 1;
}

.calc-input-panel-step3-status-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2px 0 0;
    gap: 10px;
    width: 14px;
    height: 22px;
    background: #FFFFFF;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-panel-step3-status-icon {
    width: 14px;
    height: 14px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 12px;
    line-height: 14px;
    color: #3D8B3D;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-panel-step3-status-icon::before {
    content: "\f00c";
}

.calc-input-panel-step3-header.is-invalid .calc-input-panel-step3-status-icon {
    color: #ED1B2E;
}

.calc-input-panel-step3-header.is-invalid .calc-input-panel-step3-status-icon::before {
    content: "\f071";
}

.calc-input-panel-step3-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 350px;
    height: auto;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #3D8B3D;
    flex: none;
    order: 1;
    flex-grow: 1;
}

.calc-input-panel-step3-main {
    display: block;
    width: 100%;
}

.calc-input-panel-step3-label {
    color: #3D8B3D;
}

.calc-input-panel-step3-name {
    color: #005695;
}

.calc-input-panel-step3-header.is-invalid .calc-input-panel-step3-label {
    color: #ED1B2E;
}

.calc-input-panel-step3-chevron {
    width: 16px;
    height: 21px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 18px;
    line-height: 21px;
    text-align: right;
    color: #005695;
    flex: none;
    order: 1;
    flex-grow: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.calc-input-panel-step3-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    order: 2;
    align-self: stretch;
}

.calc-input-panel-step3.is-collapsed .calc-input-panel-step3-body {
    display: none;
}

.calc-input-panel-step3-helper {
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #242424;
    padding-left: 0;
    margin-top: 0;
    order: 1;
}

.calc-input-step3-form {
    display: flex;
    margin-top: 20px;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 79px;
    margin-top: 20px;
    order: 15;
    align-self: stretch;
    flex-grow: 0;
    margin-top: 20px;
}

.calc-input-step3-form-short {
    order: 16;
    margin-top: 20px;
}

.calc-input-step3-divider-line {
    width: 406px;
    height: 0;
    border-top: 1px solid #888888;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    flex: none;
    order: 17;
    align-self: stretch;
    flex-grow: 0;
    margin-top: 20px;
}

.calc-input-panel-step4 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 20px;
    width: 406px;
    height: auto;
    flex: none;
    order: 18;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-panel-step4-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 20px;
    width: 406px;
    height: 44px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
    cursor: pointer;
}

.calc-input-panel-step4-left {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 6px;
    width: 371px;
    height: 44px;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-panel-step4-status-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2px 0 0;
    gap: 10px;
    width: 14px;
    height: 22px;
    background: #FFFFFF;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-panel-step4-status-icon {
    width: 14px;
    height: 14px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 12px;
    line-height: 14px;
    color: #3D8B3D;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-panel-step4-status-icon::before {
    content: "\f00c";
}

.calc-input-panel-step4-header.is-invalid .calc-input-panel-step4-status-icon {
    color: #ED1B2E;
}

.calc-input-panel-step4-header.is-invalid .calc-input-panel-step4-status-icon::before {
    content: "\f071";
}

.calc-input-panel-step4-title {
    width: 351px;
    height: 44px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #3D8B3D;
    flex: none;
    order: 1;
    flex-grow: 0;
}

.calc-input-panel-step4-label {
    color: #3D8B3D;
}

.calc-input-panel-step4-name {
    color: #005695;
}

.calc-input-panel-step4-header.is-invalid .calc-input-panel-step4-label {
    color: #ED1B2E;
}

.calc-input-panel-step4-chevron {
    width: 15px;
    height: 21px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 18px;
    line-height: 21px;
    text-align: right;
    color: #005695;
    flex: none;
    order: 1;
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.calc-input-panel-step4-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    order: 19;
    align-self: stretch;
}

.calc-input-panel-step4.is-collapsed .calc-input-panel-step4-body {
    display: none;
}

.calc-input-step4-duration-field {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 74px;
    flex: none;
    order: 19;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-step4-duration-pair {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    width: 406px;
    height: 74px;
}

.calc-input-step4-duration-pair .calc-input-step4-duration-field {
    flex: none;
}

.calc-input-step4-duration-pair .calc-input-step4-duration-value-field {
    width: 246px;
}

.calc-input-step4-duration-pair .calc-input-step4-duration-unit-field {
    width: 150px;
}

.calc-input-step4-duration-pair .calc-input-step4-input-row {
    width: 246px;
}

.calc-input-step4-duration-pair .calc-input-step4-select-row {
    width: 150px;
}

.calc-input-step4-duration-pair .calc-input-step4-select {
    padding-right: 28px;
}

.calc-input-step4-duration-pair .calc-input-step4-duration-header {
    width: 100%;
}

.calc-input-step4-duration-pair .calc-input-step4-duration-label {
    width: auto;
    flex: 1 1 auto;
}

.calc-input-step4-duration-pair .calc-input-step4-duration-required {
    width: auto;
    flex: none;
}

.calc-input-step4-duration-value-field {
    order: 20;
}

.calc-input-step4-duration-unit-field {
    order: 19;
}

.calc-input-step4-temperature-field {
    order: 20;
    margin-top: 20px;
}

.calc-input-step4-standard-field {
    order: 21;
    margin-top: 20px;
}

.calc-input-step4-divider-line {
    width: 406px;
    height: 0;
    border-top: 1px solid #888888;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    flex: none;
    order: 23;
    align-self: stretch;
    flex-grow: 0;
    margin-top: 0;
}

.calc-input-actions-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0;
    gap: 20px;
    width: 406px;
    height: 50px;
    flex: none;
    order: 24;
    align-self: stretch;
    flex-grow: 0;
    margin-top: 10px;
    margin-bottom: 10px;
}

.calc-input-btn-reset {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 14px 27px;
    gap: 10px;
    width: 193px;
    height: 50px;
    border: 1px solid #005695;
    border-radius: 50px;
    background: #FFFFFF;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #005695;
    flex: none;
    order: 0;
    flex-grow: 1;
    cursor: pointer;
}

.calc-input-btn-calculate {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 14px 27px;
    gap: 10px;
    width: 193px;
    height: 50px;
    background: #005695;
    border: 1px solid #005695;
    border-radius: 50px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #FFFFFF;
    flex: none;
    order: 1;
    flex-grow: 1;
    cursor: pointer;
}

.calc-input-btn-calculate:disabled {
    background: #F2F2F2;
    border-color: #BCBCBC;
    color: #8A8A8A;
    opacity: 1;
    cursor: not-allowed;
}

/* ── Post-calculate locked state ─────────────────────────────── */
.calc-input-panel.is-results-locked .calc-input-select-row,
.calc-input-panel.is-results-locked .calc-input-step4-select-row,
.calc-input-panel.is-results-locked .calc-input-step4-input-row {
    background: #f2f2f2;
    border-color: #bcbcbc;
    cursor: not-allowed;
}

.calc-input-panel.is-results-locked .calc-input-select:not(.calc-input-select-auto-locked),
.calc-input-panel.is-results-locked .calc-input-step4-select {
    color: #8A8A8A;
    cursor: not-allowed;
    background-image: none;
    pointer-events: none;
}

.calc-input-panel.is-results-locked .calc-input-step4-input {
    color: #8A8A8A;
    cursor: not-allowed;
    background: transparent;
    pointer-events: none;
}

.calc-input-step4-duration-value-field.is-unit-pending .calc-input-step4-input-row {
    background: #f2f2f2;
    border-color: #bcbcbc;
    cursor: not-allowed;
}

.calc-input-step4-duration-value-field.is-unit-pending .calc-input-step4-input {
    color: #8A8A8A;
    cursor: not-allowed;
}

.calc-input-step4-duration-value-field.is-unit-pending .calc-input-step4-input::placeholder {
    color: #8A8A8A;
}

.calc-input-step4-duration-value-field.is-unit-pending .step4-spinner-btn {
    opacity: 0.4;
    cursor: not-allowed;
}

.calc-input-panel.is-results-locked .step4-spinner-btn {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.calc-input-panel.is-results-locked .calc-input-step3-value,
.calc-input-panel-step3.is-support-pending .calc-input-step3-value {
    background: #f2f2f2;
    border-color: #bcbcbc;
    color: #8A8A8A;
    cursor: not-allowed;
}

.calc-input-panel.is-results-locked .calc-input-support-option-box {
    background: #f2f2f2;
    border-color: #bcbcbc;
    cursor: not-allowed;
}

.calc-input-panel.is-results-locked .calc-input-support-option-circle {
    border-color: #bcbcbc;
    background: #f2f2f2;
}

.calc-input-panel.is-results-locked .calc-input-support-option-text {
    color: #8A8A8A;
}

.calc-input-panel.is-results-locked .calc-input-add-third-layer-btn {
    background: #f2f2f2;
    border-color: #bcbcbc;
    color: #8A8A8A;
    cursor: not-allowed;
}

.calc-input-actions-divider-line {
    width: 406px;
    height: 0;
    border-top: 1px solid #888888;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    flex: none;
    order: 25;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-locked-hover-hint {
    position: fixed;
    z-index: 1200;
    max-width: 280px;
    padding: 10px 12px;
    border: 1px solid #d0d0d0;
    border-left: 6px solid #d0d0d0;
    border-radius: 8px;
    background: #ffffff;
    color: #242424;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    line-height: 19px;
    box-shadow: 0 8px 22px rgba(38, 38, 38, 0.2);
    pointer-events: none;
}

.calc-input-locked-hover-hint.is-locked-hint {
    border-left-color: #f2c200;
}

.calc-input-locked-hover-hint.is-range-hint {
    border-left-color: #c62828;
}

.calc-input-locked-hover-hint strong {
    font-weight: 700;
}

.calc-input-locked-hover-hint[hidden] {
    display: none !important;
}

.calc-input-validation-alert {
    width: 406px;
    height: 34px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #ED1B2E;
    flex: none;
    order: 26;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-validation-alert #validationAlertTitle {
    font-weight: 700;
}

.calc-input-validation-alert.valid {
    color: #3D8B3D;
}

.calc-input-glyph-summary {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 20px;
    width: 406px;
    height: 110px;
    flex: none;
    order: 27;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-glyph-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 193px;
    flex: none;
    flex-grow: 1;
}

.calc-input-glyph-col-left {
    height: 110px;
    order: 0;
}

.calc-input-glyph-col-right {
    height: 86px;
    order: 1;
}

.calc-input-glyph-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    height: 14px;
}

.calc-input-glyph-icon {
    width: 14px;
    height: 14px;
    margin-right: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 400;
    font-size: 8px;
    line-height: 1;
    color: #FF383C;
    border: 1px solid currentColor;
    border-radius: 50%;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-glyph-row.is-valid .calc-input-glyph-icon {
    color: #34C759;
}

.calc-input-glyph-icon i {
    font-size: 8px;
    line-height: 1;
    font-weight: 900;
}

.calc-input-glyph-text {
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: #000000;
    flex: none;
    order: 1;
    flex-grow: 0;
}

.calc-input-step4-duration-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 17px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-step4-duration-label {
    width: 198px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #242424;
    flex: none;
    order: 0;
    flex-grow: 1;
}

.calc-input-step4-duration-required {
    width: 198px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    text-align: right;
    color: #888888;
    flex: none;
    order: 1;
    flex-grow: 1;
}

.calc-input-step4-select-row {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 15px 14px;
    gap: 10px;
    width: 406px;
    height: 47px;
    background: #FFFFFF;
    border: 1px solid #808080;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
    position: relative;
    cursor: pointer;
}

.calc-input-step4-select {
    width: calc(100% + 28px);
    height: 47px;
    margin: -15px -14px;
    border: 0;
    outline: none;
    background: transparent;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 15px 48px 15px 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath d='M1 1l5 4 5-4' stroke='%23000000' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
    background-size: 12px 6px;
    cursor: pointer;
}

.calc-input-step4-select option {
    padding-left: 8px;
}

.calc-input-step4-select:invalid {
    color: #000000;
}

.calc-input-step4-select-chevron {
    display: none;
}

.calc-input-step4-select-chevron i {
    font-size: 12px;
    line-height: 6px;
}

.calc-input-step4-input-row {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 15px 14px;
    padding-right: 28px;
    gap: 10px;
    width: 406px;
    height: 47px;
    background: #FFFFFF;
    border: 1px solid #808080;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-step4-input {
    flex: 1;
    min-width: 0;
    height: 17px;
    border: 0;
    outline: none;
    background: transparent;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
}

.calc-input-step4-input::placeholder {
    color: #000000;
    opacity: 1;
}

.calc-input-step4-temperature-row {
    justify-content: space-between;
}

.calc-input-step4-temperature-input {
    width: 328px;
}

.step4-spinner {
    position: absolute;
    top: 2px;
    right: 0;
    bottom: 0;
    width: 28px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.step4-spinner-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: #888;
    font-size: 9px;
    padding: 0;
    line-height: 1;
    transition: color 0.1s;
}

.step4-spinner-btn:hover {
    color: #333;
}

.step4-spinner-btn:active {
    color: #000;
}

.step4-spinner-btn:disabled {
    color: #ccc;
    cursor: default;
}

.step4-spinner-btn:disabled:hover,
.step4-spinner-btn:disabled:active {
    color: #ccc;
}

.calc-input-step4-input-row.is-range-invalid {
    border: 2px solid #c62828 !important;
    background: #fff0f0 !important;
    box-shadow: 0 0 8px 2px rgba(198, 40, 40, 0.35) !important;
}

.calc-input-step4-temperature-unit {
    width: 40px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    text-align: right;
    color: #000000;
    flex: none;
    order: 1;
    flex-grow: 0;
}

.calc-input-step3-form-frame {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 79px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-step3-form-label {
    width: 392px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #242424;
    flex: none;
    order: 0;
    flex-grow: 0;
}

.calc-input-step3-value {
    box-sizing: border-box;
    width: 100%;
    align-self: stretch;
    height: 50px;
    border: 1px solid #808080;
    background: #FFFFFF;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
    text-align: left;
    padding: 0 10px;
    margin-top: 0;
}

.calc-input-step3-input-row {
    position: relative;
    width: 100%;
    height: 50px;
}

.calc-input-step3-value:focus {
    outline: none;
    border-color: #808080;
    box-shadow: none;
}

.calc-input-step3-value.is-range-invalid {
    border: 2px solid #c62828 !important;
    background: #fff0f0 !important;
    box-shadow: 0 0 8px 2px rgba(198, 40, 40, 0.35) !important;
}

.calc-input-panel-step3:not(.is-support-pending) .calc-input-step3-value {
    color: #000000;
}

.calc-input-panel-step3:not(.is-support-pending) .calc-input-step3-value::placeholder {
    color: #000000;
    opacity: 1;
}

.calc-input-support-section.is-collapsed .calc-input-support-body {
    display: none;
}

.calc-input-support-option-box {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px;
    gap: 9px;
    width: 406px;
    height: 50px;
    background: #FFFFFF;
    border: 1px solid #808080;
    flex: none;
    align-self: stretch;
    flex-grow: 0;
    cursor: pointer;
}

.calc-input-support-option-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.calc-input-support-option-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 5px;
    width: 374px;
    height: 18px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-support-option-circle {
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #000000;
    flex: none;
    order: 0;
    flex-grow: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.calc-input-support-option-input:checked + .calc-input-support-option-row .calc-input-support-option-circle::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #000000;
}

.calc-input-support-option-text {
    width: 310px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
    flex: none;
    order: 1;
    flex-grow: 0;
}

.calc-input-support-option-text-f1press {
    width: 294px;
}

.calc-input-support-option-text-s2beam {
    width: 351px;
    white-space: nowrap;
    height: auto;
}

.calc-input-support-option-box-s2beam {
    height: auto;
    min-height: 50px;
    padding-top: 8px;
    padding-bottom: 8px;
    justify-content: center;
}

.calc-input-support-option-box-s2beam .calc-input-support-option-row {
    height: auto;
    align-items: center;
}

.calc-input-support-option-text-s2press {
    width: 351px;
    white-space: nowrap;
}

.calc-input-support-option-text-s4plmid {
    width: 351px;
    white-space: nowrap;
}

.calc-input-support-option-text-s4press {
    width: 351px;
    white-space: nowrap;
}

.calc-input-support-option-box-s4press {
    justify-content: center;
}

.calc-input-support-option-box-s4press .calc-input-support-option-row {
    height: auto;
    align-items: center;
}

.calc-input-support-preview {
    --support-preview-point-top: 96px;
    --support-preview-outline: 2px solid #d1d5db;
    position: fixed;
    left: 0;
    top: 0;
    width: 454px;
    height: 565px;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #ffffff;
    box-sizing: border-box;
    border: var(--support-preview-outline);
    border-radius: 0;
    filter: drop-shadow(0 18px 48px rgba(15, 23, 42, 0.18)) drop-shadow(0 4px 14px rgba(15, 23, 42, 0.08));
    pointer-events: none;
    z-index: 2000;
    overflow: visible;
}

.calc-input-support-preview.is-visible {
    display: flex;
}

.calc-input-support-preview-arrow {
    display: none;
    position: absolute;
    left: -20px;
    top: var(--support-preview-point-top);
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    background: #ffffff;
    border: var(--support-preview-outline);
    transform: rotate(45deg);
    z-index: 0;
}

.calc-input-support-preview.has-hover-point .calc-input-support-preview-arrow {
    display: block;
}

.calc-input-support-preview.is-left .calc-input-support-preview-arrow {
    left: auto;
    right: -20px;
}

.calc-input-support-preview-art {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    padding: 8px;
    border-radius: 0;
    background-color: #ffffff;
    background-origin: content-box;
    background-clip: border-box;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.calc-input-support-preview.uses-full-height-art .calc-input-support-preview-art {
    background-position: center center;
    background-size: 112% auto;
}

@media (max-width: 1024px), (max-height: 700px) {
    .calc-input-support-preview {
        width: min(280px, calc(100vw - 32px));
        height: min(340px, 35vh);
    }

    .calc-input-support-preview-arrow {
        width: 20px;
        height: 20px;
        left: -10px;
    }

    .calc-input-support-preview.is-left .calc-input-support-preview-arrow {
        right: -10px;
    }

    .calc-input-support-preview.is-above .calc-input-support-preview-arrow,
    .calc-input-support-preview.is-below .calc-input-support-preview-arrow {
        left: var(--support-preview-point-left);
        right: auto;
    }

    .calc-input-support-preview.is-above .calc-input-support-preview-arrow {
        top: auto;
        bottom: -10px;
    }

    .calc-input-support-preview.is-below .calc-input-support-preview-arrow {
        top: -10px;
        bottom: auto;
    }

    .calc-input-support-preview.uses-full-height-art .calc-input-support-preview-art {
        background-size: contain;
    }
}


.calc-input-content-frame {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 74px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-field-header-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 406px;
    height: 17px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-input-field-label {
    width: 198px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #242424;
    flex: none;
    order: 0;
    flex-grow: 1;
}

.calc-input-field-required {
    width: 198px;
    height: 17px;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    text-align: right;
    color: #888888;
    flex: none;
    order: 1;
    flex-grow: 1;
}

.calc-input-select-row {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 15px 14px;
    gap: 10px;
    width: 406px;
    height: 47px;
    background: #FFFFFF;
    border: 1px solid #808080;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
    cursor: pointer;
}

.calc-input-select {
    width: calc(100% + 28px);
    height: 47px;
    margin: -15px -14px;
    border: 0;
    background: transparent;
    font-family: "ABeeZee", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 15px 26px 15px 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath d='M1 1l5 4 5-4' stroke='%23000000' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
    background-size: 12px 6px;
    cursor: pointer;
}

.calc-input-select option {
    padding-left: 8px;
}

.calc-input-select:disabled,
.calc-input-select.calc-input-select-auto-locked {
    color: #8A8A8A;
    cursor: not-allowed;
    background-image: none;
}

.calc-input-content-form-interlayer2 .calc-input-content-frame,
.calc-input-content-form-glass3 .calc-input-content-frame {
    background: transparent;
}

.calc-input-content-form-interlayer2 .calc-input-select-row,
.calc-input-content-form-glass3 .calc-input-select-row {
    background: #f2f2f2;
    border-color: #bcbcbc;
    cursor: not-allowed;
}

.calc-input-content-form-interlayer2 .calc-input-select,
.calc-input-content-form-glass3 .calc-input-select {
    color: #8a8a8a;
    background-image: none;
    pointer-events: none;
    cursor: not-allowed;
}

/* ================================================================
   RESULTS PANEL (RIGHT)
   ================================================================ */

.calc-results-panel {
   display: flex;
   flex-direction: column;
    position: relative;
   align-items: flex-start;
   padding: 20px 20px 30px;
   gap: 20px;
   width: 914px;
    height: 1057px;
    min-height: 1057px;
   background: #FFFFFF;
   flex: none;
   order: 1;
   flex-grow: 1;
}

.results-empty-state {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: 52px;
    box-sizing: border-box;
}

.results-empty-state-content {
    width: min(520px, calc(100% - 40px));
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    color: #242424;
}

.results-empty-state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 29px;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 25px;
    line-height: 29px;
    color: #005695;
    margin: 0 0 13px;
}

.results-empty-state-content p {
    margin: 0;
}

.results-empty-state-content p + p {
    margin-top: 14px;
}

.results-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    height: 100%;
}

/* Results top bar */

.results-top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    gap: 10px;
    width: 100%;
    height: 40px;
    gap: 10px;
    overflow: visible;
    border-bottom: none;
    background: transparent;
    margin-bottom: 20px;
}

.results-title {
    margin: 0;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    color: #242424;
    width: 244px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    transform: none;
    flex: 0 1 auto;
    min-width: 0;
    order: 0;
}

.results-top-actions {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
    padding: 0;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-end;
    overflow: visible;
}

.btn-modify-inputs {
    box-sizing: border-box;
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0 27px;
    gap: 10px;
    width: 200px;
    height: 40px;
    border: 1px solid #298CB8;
    border-radius: 50px;
    background: #ffffff;
    color: #298CB8;
    flex: none;
    flex-grow: 0;
}

.btn-modify-inputs:disabled {
    background: #F2F2F2;
    border-color: #BCBCBC;
    color: #8A8A8A;
    cursor: not-allowed;
}

.btn-modify-inputs,
.btn-results-reset,
.btn-export-report {
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-weight: 700;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.results-action-icon {
    font-size: 17px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


.btn-results-reset {
    padding: 0 27px;
    background: #ffffff;
    border: 1px solid #005695;
    border-radius: 50px;
    font-size: 18px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-weight: 700;
    color: #005695;
    cursor: pointer;
    transition: background 0.15s;
    width: 200px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-results-reset:hover { background: #f0f4f8; }

.btn-export-report {
    padding: 0 27px;
    background: #005695;
    border: none;
    border-radius: 50px;
    font-size: 18px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: background 0.15s;
    width: 200px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-export-report:hover { background: #003865; }

.btn-export-report:disabled,
.btn-export-report:disabled:hover {
    background: #F2F2F2;
    color: #8A8A8A;
    cursor: not-allowed;
}

/* Summary block */

.results-summary-block {
    padding: 0;
    background: transparent;
    border-bottom: 0;
    border-top: 0;
    font-size: 12px;
    width: 100%;
}

.results-summary-block::before {
    content: "";
    display: block;
    width: 100%;
    height: 24px;
    border-top: 2px solid #5aa0c5;
}

.results-summary-block::after {
    content: "";
    display: block;
    width: 100%;
    height: 48px;
    background-image: linear-gradient(#005695, #005695);
    background-repeat: no-repeat;
    background-size: 100% 1px;
    background-position: 0 24px;
}

.results-summary-grid {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 10px;
    gap: 0;
    width: 874px;
    height: 90px;
    min-height: 90px;
}

.results-summary-grid > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    gap: 0;
    min-width: 0;
}

.summary-item {
    line-height: 1.229;
    font-size: 12px;
    font-weight: 400;
    color: #000000;
    margin: 0;
}
.sum-label { color: #000000; }
.sum-val { font-weight: 700; color: #000000; }

.results-head-row {
    display: grid;
    grid-template-columns: 381px 246.5px 246.5px;
    width: 874px;
    height: 40px;
    align-items: flex-start;
}

.results-head-label,
.results-head-col {
    color: #ffffff;
    font-family: "Instrument Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.results-head-label {
    text-align: left;
    justify-content: flex-start;
    padding: 10px 0 10px 20px;
    background: #005695;
}

.results-head-col {
    padding: 10px;
}

.results-head-col-a {
    background: #298cb8;
}

.results-head-col-b {
    background: #004578;
}

/* ================================================================
   RESULT ROWS (full-width row layout)
   ================================================================ */

.calc-result-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin: 0;
    width: 874px;
}

#stressResults::before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    border-top: 0;
}

#stressResults {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 874px;
    height: auto;
    min-height: 0;
    align-self: stretch;
    flex-grow: 0;
}

.calc-result-card {
    display: grid;
    grid-template-columns: 364px 225px 225px;
    align-items: center;
    padding: 20px 20px 25px;
    background: #F2F6F9;
    border-bottom: 5px solid #FFFFFF;
    border-radius: 0;
    box-shadow: none;
    color: #000000;
    min-height: auto;
    width: 874px;
    height: 83px;
    gap: 10px;
}

.calc-result-card.alt,
.calc-result-card:nth-child(even) { background: #f9f9f9; }

.calc-result-card.calc-result-blue { background: #f2f6f9; }
.calc-result-card.calc-result-blue.alt { background: #f2f6f9; }
.calc-result-card.calc-result-green { background: #EAF8EA; }
#deflectionResult { background: #EAF8EA; }
.calc-result-card.calc-result-neutral { background: #f9f9f9; }
#resStress1Row,
#resStress2Row,
#resStress3Row { background: #e4f0f7; }
#resGmodRow { background: #ECECEC; }

.calc-result-label {
    font-family: 'Instrument Sans', Arial, sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    color: #000000;
    flex: 0 0 auto;
    text-align: left;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    height: 38px;
}

.calc-result-value,
.calc-result-value-secondary {
    font-family: 'Instrument Sans', Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #000000;
    line-height: 29px;
    text-align: center;
    white-space: nowrap;
    margin-left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    height: 29px;
    width: 225px;
    min-width: 0;
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
}

.calc-result-unit {
    display: inline-block;
    margin-left: 4px;
    min-width: 0;
    text-align: left;
    color: #005695;
}

.report-result-val .calc-result-unit { color: #ffffff; }

#stressResults.is-single-material .results-head-row {
    grid-template-columns: 381px 493px;
}

#stressResults.is-single-material .results-head-col-b {
    display: none;
}

#stressResults.is-single-material .calc-result-card {
    grid-template-columns: 364px 460px;
}

#stressResults.is-single-material .calc-result-value {
    width: 460px;
}

#stressResults.is-single-material .calc-result-value-secondary {
    display: none;
}

/* Additional results */

.calc-additional-results { margin: 0; display: none; }

.calc-result-block {
    border-top: 1px solid #005695;
    margin-top: 0;
    padding-top: 24px;
    width: 100%;
}

.calc-result-block-title {
    padding: 0 0 24px;
    margin: 0;
    font-family: 'Instrument Sans', Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #242424;
    background: transparent;
    border-bottom: 1px solid #005695;
}

/* ================================================================
   VISUAL STACK
   ================================================================ */

.visual-stack-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    width: 100%;
}

.visual-stack-divider {
    display: block;
    width: 874px;
    height: 48px;
    flex: none;
    order: 0;
    align-self: stretch;
    flex-grow: 0;
    background-image: linear-gradient(#005695, #005695);
    background-repeat: no-repeat;
    background-size: 100% 1px;
    background-position: 0 24px;
}

.visual-stack-title {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 20px 0;
    gap: 10px;
    width: 874px;
    height: 29px;
    margin: 0;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #242424;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
    text-align: left;
}

.visual-stack-content {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    gap: 24px;
    order: 2;
}

.visual-stack-table {
    border-collapse: collapse;
    font-size: 10px;
    min-width: 200px;
    flex-shrink: 0;
}

.visual-stack-table th {
    background: var(--eastman-blue);
    color: #ffffff;
    padding: 4px 8px;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}

.visual-stack-table td {
    padding: 3px 8px;
    border-bottom: 1px solid #e8eef4;
    color: var(--text);
}

.visual-stack-table tr:nth-child(even) td { background: #f5f9fc; }

.visual-stack-placeholder {
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px dashed var(--acc-border);
    border-radius: 6px;
    color: var(--text-muted);
    font-size: 13px;
    background: #fafcfe;
    flex: 1;
}

.calc-visual-box {
    height: auto;
    width: 100%;
    border: 0;
    background: transparent;
    display: block;
    color: var(--text-muted);
    text-align: left;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 12px;
    border-radius: 0;
}

/* ================================================================
   CALCULATION PAGE LAMINATED STACK VISUAL
   ================================================================ */

.calc-stack-wrap {
    display: grid;
    grid-template-columns: 260px 546px;
    column-gap: 24px;
    align-items: flex-start;
    margin-top: 0;
    padding: 8px 22px 24px;
    width: 100%;
}

.calc-stack-left {
    width: 260px;
    min-width: 260px;
    max-width: 260px;
    flex: 0 0 260px;
    font-size: 10px;
    color: #222;
}

.calc-stack-pos,
.calc-stack-compose {
    margin-bottom: 4px;
}

.calc-stack-pos {
    display: none;
}

.calc-stack-compose {
    font-weight: 400;
    font-size: 10px;
    line-height: 1.229;
    color: #222222;
}

.calc-stack-table {
    width: 100%;
    border-collapse: collapse;
}

.calc-stack-head-cell {
    padding: 0 6px 4px;
    font-size: 10px;
    font-weight: 700;
    color: #222222;
}

.calc-stack-table tr:first-child .calc-stack-head-cell:first-child {
    width: 70px;
    text-align: center;
}

.calc-stack-row-cell {
    padding: 3px 6px;
    font-size: 10px;
    color: #6b6b6b;
}

.calc-stack-row-cell-number {
    text-align: center;
    color: #111111;
    font-weight: 700;
    width: 70px;
}

.calc-stack-row-cell-desc {
    width: 85px;
}

.calc-stack-row-cell-right {
    text-align: right;
    width: 55px;
}

.calc-stack-total {
    padding: 8px 6px 0;
    border-top: 1px solid #c8c8c8;
    text-align: right;
    font-size: 10px;
    color: #005695;
    font-weight: 700;
}

.calc-stack-right {
    width: 546px;
    min-width: 546px;
    max-width: 546px;
    flex: 0 0 546px;
}

.calc-stack-scale {
    display: flex;
    margin-bottom: 7px;
    font-size: 10px;
    color: #222222;
    font-weight: 700;
}

.calc-stack-scale-item {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #222222;
    font-size: 10px;
}

.calc-stack-scale-item-first {
    justify-content: flex-start;
    gap: 18px;
    padding-left: 0;
}

.calc-stack-scale-nr {
    width: 28px;
    text-align: left;
}

.calc-stack-scale-num {
    flex: 1;
    text-align: left;
}

.calc-stack-bars {
    display: flex;
    height: 202px;
    border: 0;
    overflow: hidden;
}

.calc-stack-bar {
    height: 202px;
    border-right: 0;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    padding-bottom: 0;
    font-size: 11px;
    color: #234;
}

.calc-stack-bar-glass {
    background: #d5e7f4;
}

.calc-stack-bar-pvb {
    background: transparent;
    flex-direction: column;
}

.calc-stack-bar-pvb-cap {
    height: 17px;
    width: 100%;
    background: #fffde3;
}

.calc-stack-bar-pvb-body {
    height: 185px;
    width: 100%;
    background: #fffde3;
}

.calc-stack-bar-index {
    display: none;
}

.calc-stack-empty {
    font-size: 12px;
    color: #666;
}

/* ================================================================
   EXPORT FORM MODAL
   ================================================================ */
.modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    justify-content: center;
    align-items: center;
    padding: 20px;
}
.modal-overlay.active { display: flex; }

.export-form-overlay {
    background: rgba(255, 255, 255, 0.8);
    z-index: 5000;
    pointer-events: auto;
    align-items: flex-start;
    overflow-y: auto;
}

.export-form-overlay .export-form-shell {
    margin-top: 120px;
    margin-bottom: 32px;
}

.modal-actions { display: flex; gap: 10px; margin-top: 20px; }

.btn-primary {
    padding: 10px 24px;
    background: #0b1d3a;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    flex: 1;
}
.btn-primary:hover { background: #1a3055; }
.btn-primary:disabled { background: #888; cursor: not-allowed; }

.btn-secondary {
    padding: 10px 24px;
    background: #e2e6ef;
    color: #333;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.btn-secondary:hover { background: #d0d5e0; }

body.report-view-active {
    overflow: hidden;
}

.report-view-overlay {
    background: #ffffff;
    z-index: 6000;
    align-items: flex-start;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
}

.report-view-shell {
    width: min(100%, 1380px);
    min-height: calc(100vh - 40px);
    height: auto;
    overflow: visible;
    background: #ffffff;
    border: none;
    outline: none;
    box-shadow: none;
    box-sizing: border-box;
}

.report-preview-frame {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 42px 196px;
    gap: 20px;
    width: 100%;
    min-height: 2667px;
    height: auto;
    background: #bebebe;
    box-sizing: border-box;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
    border: none;
    outline: none;
    box-shadow: none;
}

.report-pages-scroll {
    display: contents;
}

.report-export-success-strip {
    width: 988px;
    height: 33px;
    background: #d9f1d8;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px 0 12px;
    border-left: 8px solid #34c759;
    box-sizing: border-box;
}

.report-export-success-icon {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: none;
    box-sizing: border-box;
    position: relative;
    flex: none;
    background: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Ccircle cx='7' cy='7' r='6.25' stroke='%232F9D39' stroke-width='1.5'/%3E%3Cpath d='M4.1 7.1L6.0 9.0L9.9 5.1' stroke='%232F9D39' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.report-export-success-text {
    width: 272px;
    height: 12px;
    color: #111111;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 12px;
    white-space: nowrap;
}

.report-top-white-box {
    width: 988px;
    height: 90px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    box-sizing: border-box;
    flex: none;
    order: 1;
    align-self: stretch;
    flex-grow: 0;
}

.report-top-white-title {
    color: #111111;
    font-size: 17px;
    line-height: 1;
    font-weight: 700;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
}

.report-top-white-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.report-support-control {
    display: inline-flex;
}

.report-support-control.needs-email {
    cursor: not-allowed;
}

.report-support-control.needs-email .report-pill-btn {
    pointer-events: none;
    background: #F2F2F2;
    border-color: #BCBCBC;
    color: #8A8A8A;
}

.report-support-email-hint {
    position: fixed;
    z-index: 5001;
    width: 280px;
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
}

.report-pill-btn {
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #005695;
    padding: 0 18px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: default;
    white-space: nowrap;
}

.report-pill-btn-primary {
    gap: 8px;
}

.report-pdf-icon {
    width: 18px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    color: #ffffff;
    border: none;
    background: transparent;
    box-sizing: border-box;
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 18px;
    line-height: 21px;
    text-align: center;
}

.report-pdf-icon::before {
    content: "\f1c1";
}

.report-mail-icon {
    width: 18px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    color: inherit;
    border: none;
    background: transparent;
    box-sizing: border-box;
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-size: 18px;
    line-height: 21px;
    text-align: center;
}

.report-mail-icon::before {
    content: "\f0e0";
}

.report-pill-btn-primary {
    background: #005695;
    color: #ffffff;
}

.report-pill-btn-outline {
    background: #ffffff;
    color: #005695;
}

.report-white-page {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 35px 75px 45px;
    gap: 20px;
    width: 988px;
    min-height: 1200px;
    height: auto;
    background: #ffffff;
    flex: none;
    order: 2;
    align-self: stretch;
    flex-grow: 0;
    box-sizing: border-box;
}

.report-white-page-secondary {
    order: 3;
}

.report-disclaimer {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin-top: 30px;
}

.report-disclaimer-heading {
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    color: #000000;
    margin: 0 0 12px 0;
    padding: 0;
}

.report-disclaimer-body {
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    color: #000000;
    margin: 0 0 12px 0;
    padding: 0;
}

.report-disclaimer-body:last-child {
    margin-bottom: 0;
}

.report-brand-lockup {
    display: block;
    width: 255px;
    height: 55px;
    object-fit: contain;
    margin: 0;
}

.report-brand-header-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.report-title-strip {
    position: relative;
    width: 563px;
    height: 55px;
    background: #005695;
    display: flex;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
}

.report-title-strip::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    background: #298cb8;
}

.report-title-strip span {
    display: block;
    width: 331px;
    height: 18px;
    color: #ffffff;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 19px;
    line-height: 18px;
    font-weight: 700;
    white-space: nowrap;
}

.report-results-frame {
    width: 331px;
    min-height: 18px;
    display: flex;
    align-items: flex-end;
}

.report-results-frame span {
    display: block;
    width: 331px;
    height: 18px;
    color: #171717;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 19px;
    line-height: 18px;
    font-weight: 700;
    white-space: nowrap;
}

.report-results-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 838px;
    height: 25px;
    align-self: flex-start;
}

.report-results-date {
    display: flex;
    min-height: 15px;
    height: auto;
    flex-direction: column;
    justify-content: center;
    flex: 1 0 0;
    align-items: flex-end;
    overflow: visible;
    min-width: 0;
}

.report-results-date-line {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    white-space: nowrap;
}

.report-results-date-label {
    display: block;
    margin-right: 0;
    overflow: hidden;
    color: #000000;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-results-date-value {
    display: block;
    overflow: hidden;
    color: #000000;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-user-info-card {
    width: 277px;
    min-height: 252px;
    background: #d6eef8;
    box-sizing: border-box;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-self: stretch;
    flex: none;
}

.report-user-info-title {
    color: #000000;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.229;
}

.report-user-info-line {
    display: flex;
    align-items: baseline;
    gap: 4px;
    color: #000000;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 12px;
    font-style: normal;
    line-height: 1.229;
}

.report-user-info-label {
    font-weight: 400;
}

.report-user-info-value {
    font-weight: 700;
}

.report-info-cards-row {
    display: flex;
    align-items: stretch;
    gap: 15px;
    width: 838px;
    align-self: flex-start;
}

/* Offsets the extra Glass Thickness 3 row by trimming the page's bottom padding
   instead of the gap above the results section, so it doesn't grow the overall page height. */
.report-white-page.has-glass3-row {
    padding-bottom: 22px;
}

.report-laminate-config-card {
    width: 546px;
    height: auto;
    background: transparent;
    box-sizing: border-box;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    align-self: flex-start;
    flex: none;
}

.report-laminate-config-title {
    color: #000000;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.229;
    padding: 12px 10px;
}

.report-laminate-config-line {
    display: flex;
    align-items: stretch;
    background: #f6f6f6;
    border-bottom: 1px solid #76c5e9;
    color: #000000;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 12px;
    font-style: normal;
    line-height: 1.229;
}

.report-laminate-config-label {
    font-weight: 400;
    width: 273px;
    flex: 0 0 273px;
    display: flex;
    align-items: center;
    padding: 5px 10px;
    white-space: nowrap;
}

.report-laminate-config-value {
    font-weight: 700;
    white-space: nowrap;
    width: 273px;
    flex: 0 0 273px;
    display: flex;
    align-items: center;
    padding: 5px 10px;
}

/* Blue/grey row alternation is assigned via JS (report-line-odd/even) instead of nth-child,
   since the hidden Glass Thickness 3 row would otherwise still count toward nth-child position. */
.report-laminate-config-card > .report-laminate-config-line.report-line-odd .report-laminate-config-value {
    background: #d6eef8;
}

.report-laminate-config-card > .report-laminate-config-line.report-line-even .report-laminate-config-label {
    background: #e3e3e3;
}

.report-results-head-row {
    display: flex;
    flex-direction: row;
    height: 40px;
    width: 838px;
    align-self: flex-start;
    margin-bottom: 4px;
    box-sizing: border-box;
}

.report-results-head-label {
    background: #005695;
    color: #ffffff;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 40px;
    width: 294px;
    height: 40px;
    flex-shrink: 0;
    padding: 0 10px 0 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.report-results-head-col {
    color: #ffffff;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 40px;
    width: 272px;
    height: 40px;
    padding: 0 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    box-sizing: border-box;
}

.report-results-head-col-a { background: #298cb8; }
.report-results-head-col-b { background: #004578; }

.report-results-block {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    width: 838px;
}

.report-results-section {
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    width: 838px;
}

.report-result-row {
    display: flex;
    flex-direction: row;
    width: 838px;
    align-self: flex-start;
    background: #f2f6f9;
    border-bottom: 5px solid #ffffff;
    box-sizing: border-box;
}

.report-result-label {
    width: 294px;
    flex-shrink: 0;
    padding: 20px 10px 25px 20px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    color: #000000;
    white-space: normal;
    overflow-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #f2f6f9;
    box-sizing: border-box;
}

.report-result-row-green .report-result-label { background: #EAF8EA; }
.report-result-row-grey { background: #ECECEC; }
.report-result-row-grey .report-result-label { background: #ECECEC; }
.report-result-row-alt { background: #ECECEC; }
.report-result-row-alt .report-result-label { background: #ECECEC; }

.report-visual-stack-heading {
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    color: #242424;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 838px;
    align-self: flex-start;
    margin-bottom: 0;
}

.report-visual-stack-display {
    width: 100%;
}

.report-visual-stack-display .calc-stack-wrap {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

.report-result-val {
    flex: 1 0 0;
    min-width: 1px;
    padding: 20px 10px 25px;
    font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: normal;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.report-result-val-a { background: #298cb8; }
.report-result-val-b { background: #004578; }

.report-result-row-green { background: #f7fcf7; }
.report-result-val-green-a { background: #3d8b3d; }
.report-result-val-green-b { background: #296729; }

.report-result-row-blue { background: #e4f0f7; }
.report-result-row-blue .report-result-label { background: #e4f0f7; }

.report-result-row-grey { background: #f9f9f9; }
.report-result-val-grey-a { background: #5e5e5e; }
.report-result-val-grey-b { background: #474747; }

#previewFrame.is-single-material .report-results-head-col-b {
    display: none;
}

#previewFrame.is-single-material .report-results-head-col-a {
    width: 544px;
}

#previewFrame.is-single-material .report-result-row > .report-result-val:last-child {
    display: none;
}

#previewFrame.is-single-material .report-result-row > .report-result-val:nth-child(2) {
    flex: 0 0 544px;
    max-width: 544px;
}

/* ================================================================
   EXPORT CALCULATION REPORT PAGE
   ================================================================ */

.export-calc-page {
    position: relative;
    padding: 30px 0 40px;
    min-height: calc(100vh - 56px);
    background-color: transparent;
    background-image: var(--export-prev-page-image, none);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
}

.export-calc-page::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    background: transparent;
}

.export-calc-page::after {
    content: none;
}

.export-calc-page.has-prev-page-bg::before {
    background: rgba(255, 255, 255, 0.12);
}

.export-calc-box {
    position: relative;
    z-index: 1;
    background: #ffffff;
    border: 2px solid #808080;
    box-sizing: border-box;
    width: 955px;
    min-height: 579px;
    margin: 0 auto;
    padding: 32px;
}

.export-calc-box .modal-title-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    left: 55px;
    right: 52px;
    top: 59px;
    padding: 0;
    gap: 8px;
    width: auto;
    height: 47px;
    background: transparent;
    margin: 0;
}

.export-calc-box h2 {
    margin: 0;
    font-family: 'Instrument Sans', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #000000;
}

.export-calc-box .h2-helper {
    margin: 0;
    font-family: 'Instrument Sans', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
}

.export-calc-box .modal-name-field {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    left: 55px;
    right: 52px;
    bottom: 375px;
    gap: 10px;
    width: auto;
    height: 74px;
    padding: 0;
    box-sizing: border-box;
    margin: 0;
}

.export-calc-box .modal-name-field-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 848px;
    height: 17px;
}

.export-calc-box .modal-name-field-label,
.export-calc-box .modal-field-label {
    font-family: 'ABeeZee', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #242424;
}

.export-calc-box .modal-name-field-label {
    width: 419px;
    flex-grow: 1;
}

.export-calc-box .modal-name-field-input {
    width: 100%;
    height: 47px;
    padding: 15px 14px;
    border: 1px solid #808080;
    border-radius: 0;
    background: #ffffff;
    color: #000000;
    font-family: 'ABeeZee', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
}

.export-calc-box .modal-name-field-input:focus {
    outline: none;
    border-color: #0b1d3a;
    box-shadow: 0 0 0 3px rgba(11,29,58,0.1);
}

.export-calc-box .modal-name-field .error {
    color: #d9534f;
    font-size: 12px;
    margin-top: 2px;
    display: none;
}

.export-calc-box .modal-name-field .error.show {
    display: block;
}

.export-calc-box .modal-name-field-input.error-border {
    border-color: #d9534f;
}

.export-calc-box .modal-field-box {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 848px;
    padding: 0 16px;
    box-sizing: border-box;
    margin-bottom: 14px;
}

.export-calc-box > .modal-field-box {
    align-items: flex-start;
    position: absolute;
    left: 55px;
    right: 52px;
    bottom: 277px;
    width: auto;
    height: 74px;
    padding: 0;
    margin: 0;
}

.export-calc-box .modal-field-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.export-calc-box > .modal-field-box .modal-field-header {
    align-items: flex-start;
    width: 848px;
    height: 17px;
}

.export-calc-box .modal-field-label {
    color: #242424;
}

.export-calc-box > .modal-field-box .modal-field-label {
    width: 419px;
    flex-grow: 1;
}

.export-calc-box .required-badge {
    font-family: 'ABeeZee', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #888888;
}

.export-calc-box > .modal-field-box .required-badge {
    width: 419px;
    text-align: right;
    flex-grow: 1;
}

.export-calc-box .modal-name-field .required-badge {
    width: 419px;
    text-align: right;
    flex-grow: 1;
}

.export-calc-box .modal-field-input {
    width: 100%;
    height: 47px;
    padding: 15px 14px;
    border: 1px solid #808080;
    border-radius: 0;
    background: #ffffff;
    color: #000000;
    font-family: 'ABeeZee', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
}

.export-calc-box .modal-name-field-input::placeholder,
.export-calc-box .modal-field-input::placeholder {
    color: #000000;
    opacity: 1;
}

.export-calc-box .modal-field-input:focus {
    outline: none;
    border-color: #0b1d3a;
    box-shadow: 0 0 0 3px rgba(11,29,58,0.1);
}

.export-calc-box .modal-field-input.error-border {
    border-color: #d9534f;
}

.export-calc-box .modal-field-box .error {
    color: #d9534f;
    font-size: 12px;
    margin-top: 2px;
    display: none;
}

.export-calc-box .modal-field-box .error.show {
    display: block;
}

.export-calc-box #errEmail {
    position: absolute;
    top: 100%;
    left: 0;
    line-height: 17px;
    color: #6b6b6b;
}

.export-calc-box .modal-field-grid {
    display: flex;
    gap: 24px;
    width: 848px;
    padding: 0 16px;
    box-sizing: border-box;
    margin-bottom: 16px;
}

.export-calc-box .modal-field-grid .modal-field-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 412px;
    height: 74px;
    flex: 1;
    margin-bottom: 0;
    padding: 0;
}

.export-calc-box .modal-field-grid .modal-field-box:first-child {
    position: absolute;
    left: 55px;
    right: 488px;
    bottom: 179px;
    width: auto;
}

.export-calc-box .modal-field-grid .modal-field-box:last-child {
    position: absolute;
    left: 491px;
    right: 52px;
    bottom: 179px;
    width: auto;
}

.export-calc-box .modal-field-grid .modal-field-box .modal-field-header {
    align-items: flex-start;
    width: 412px;
    height: 17px;
}

.export-calc-box .modal-field-grid .modal-field-box .modal-field-label {
    width: 201px;
    flex-grow: 1;
}

.export-calc-box .modal-field-grid .modal-field-box .required-badge {
    width: 201px;
    text-align: right;
    flex-grow: 1;
}

.export-calc-box .follow-up-option {
    display: flex;
    align-items: center;
    position: absolute;
    left: 55px;
    bottom: 136px;
    gap: 10px;
    margin: 0;
    width: 848px;
    padding: 0;
    box-sizing: border-box;
    font-family: 'ABeeZee', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #242424;
    cursor: pointer;
}

.export-calc-box .follow-up-checkbox {
    width: 19px;
    height: 19px;
    margin: 0;
    border: 1px solid #000000;
    accent-color: #0b1d3a;
    cursor: pointer;
}

.export-calc-box .export-modal-actions {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    position: absolute;
    left: 55px;
    right: 52px;
    bottom: 71px;
    padding: 0;
    gap: 10px;
    width: auto;
    height: 41px;
    box-sizing: border-box;
    flex: none;
    order: 5;
    align-self: stretch;
    flex-grow: 0;
    margin-top: 0;
}

.export-calc-box .export-modal-actions .btn-primary,
.export-calc-box .export-modal-actions .btn-secondary {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
    gap: 10px;
    width: 153px;
    height: 41px;
    border-radius: 144px;
    flex: none;
    flex-grow: 0;
    font-family: 'Instrument Sans', 'Segoe UI', Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
}

.export-calc-box .export-modal-actions .btn-primary {
    background: #005695;
    color: #ffffff;
    border: none;
}

.export-calc-box .export-modal-actions .btn-secondary {
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #005695;
    color: #005695;
}

.export-calc-box .export-modal-actions .btn-primary:hover,
.export-calc-box .export-modal-actions .btn-primary:focus,
.export-calc-box .export-modal-actions .btn-primary:active {
    background: #005695;
    color: #ffffff;
}

.export-follow-up-control {
    position: relative;
    width: 153px;
    height: 41px;
    flex: none;
}

.export-follow-up-control .export-follow-up-hint {
    display: none;
    position: fixed;
    z-index: 5001;
    left: 0;
    top: 0;
    width: 260px;
    box-sizing: border-box;
}

.export-follow-up-control.needs-email:hover .export-follow-up-hint,
.export-follow-up-control.needs-email:focus .export-follow-up-hint {
    display: block;
}

.export-calc-box .export-modal-actions .btn-primary:disabled {
    background: #F2F2F2;
    color: #8A8A8A;
    cursor: not-allowed;
    pointer-events: none;
}

.export-calc-box .export-modal-actions .btn-secondary:hover,
.export-calc-box .export-modal-actions .btn-secondary:focus,
.export-calc-box .export-modal-actions .btn-secondary:active {
    background: #ffffff;
    color: #005695;
    border-color: #005695;
}

@media (max-width: 980px) {
    .export-form-overlay {
        padding: 16px;
    }

    .export-calc-box {
        width: 100%;
        max-width: 720px;
        min-height: 0;
        margin: 0 auto;
        padding: 24px;
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .export-form-overlay .export-form-shell {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    .export-calc-box .modal-title-box,
    .export-calc-box .modal-name-field,
    .export-calc-box .modal-field-box,
    .export-calc-box .modal-field-grid,
    .export-calc-box .export-modal-actions,
    .export-calc-box .follow-up-option,
    .export-calc-box .modal-field-grid .modal-field-box:first-child,
    .export-calc-box .modal-field-grid .modal-field-box:last-child {
        position: static;
        inset: auto;
        width: 100%;
        height: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .export-calc-box .modal-name-field-header,
    .export-calc-box > .modal-field-box .modal-field-header,
    .export-calc-box .modal-field-grid .modal-field-box .modal-field-header,
    .export-calc-box .modal-name-field-label,
    .export-calc-box > .modal-field-box .modal-field-label,
    .export-calc-box .modal-field-grid .modal-field-box .modal-field-label {
        width: 100%;
        height: auto;
        min-width: 0;
    }

    .export-calc-box .modal-name-field-input,
    .export-calc-box .modal-field-input {
        min-height: 47px;
        flex-shrink: 0;
    }

    .export-calc-box .follow-up-option {
        align-items: flex-start;
    }

    .export-calc-box .follow-up-checkbox {
        flex-shrink: 0;
    }

    .export-calc-box .export-modal-actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {
    .export-calc-box {
        padding: 20px;
    }

    .export-calc-box .modal-field-grid {
        flex-direction: column;
    }

    .export-calc-box .export-modal-actions .btn-secondary,
    .export-calc-box .export-follow-up-control,
    .export-calc-box .export-follow-up-control .btn-primary {
        width: 100%;
    }

    .export-calc-box .export-follow-up-control,
    .export-calc-box .export-modal-actions .btn-secondary {
        flex: 1 1 100%;
    }
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 1439px) {
    .calc-page {
        width: 100%;
        flex-direction: row;
        align-items: flex-start;
        margin: 0;
        padding: 20px;
        gap: 20px;
    }

    .calc-input-panel,
    .calc-results-panel {
        width: 100%;
        max-width: 914px;
        min-width: 0;
        height: auto;
        max-height: none;
        margin: 0 auto;
    }

    .calc-input-panel {
        flex: 0 1 38%;
        min-width: 340px;
        max-width: 446px;
        margin: 0;
    }

    .calc-results-panel {
        flex: 1 1 0;
        max-width: none;
        min-height: 1057px;
        margin: 0;
    }

    .results-empty-state {
        min-height: 280px;
        padding: 36px 16px;
    }

    .calc-input-panel :is(.calc-input-content-form, .calc-input-content-frame,
        .calc-input-field-header-row, .calc-input-select-row, .calc-input-add-third-layer-btn,
        .calc-input-divider-line, .calc-input-support-section, .calc-input-support-header,
        .calc-input-support-body, .calc-input-support-required-form, .calc-input-support-required-frame,
        .calc-input-support-required-row, .calc-input-support-required-text,
        .calc-input-support-row, .calc-input-support-helper, .calc-input-support-options,
        .calc-input-support-option-box, .calc-input-support-option-row, .calc-input-support-divider-line,
        .calc-input-panel-step3, .calc-input-panel-step3-header, .calc-input-step3-form,
        .calc-input-step3-form-frame, .calc-input-step3-form-label, .calc-input-step3-divider-line,
        .calc-input-panel-step4, .calc-input-panel-step4-header, .calc-input-step4-duration-field,
        .calc-input-step4-duration-pair, .calc-input-step4-duration-header, .calc-input-step4-select-row,
        .calc-input-step4-input-row, .calc-input-step4-divider-line, .calc-input-actions-row,
        .calc-input-actions-divider-line,
        .calc-input-validation-alert, .calc-input-glyph-summary) {
        width: 100%;
        min-width: 0;
    }

    .calc-input-panel :is(.calc-input-content-form, .calc-input-content-frame,
        .calc-input-field-header-row, .calc-input-step-header, .calc-input-support-header,
        .calc-input-support-row, .calc-input-support-options, .calc-input-panel-step3-header, .calc-input-step3-form,
        .calc-input-step3-form-frame, .calc-input-step3-form-label, .calc-input-panel-step4-header,
        .calc-input-step4-duration-field, .calc-input-step4-duration-header,
        .calc-input-validation-alert, .calc-input-glyph-summary) {
        height: auto;
    }

    .calc-input-panel :is(.calc-input-step-left, .calc-input-support-left,
        .calc-input-panel-step3-left, .calc-input-panel-step4-left,
        .calc-input-step-title, .calc-input-support-title,
        .calc-input-panel-step3-title, .calc-input-panel-step4-title) {
        width: auto;
        min-width: 0;
        height: auto;
        flex: 1 1 auto;
    }

    .calc-input-panel :is(.calc-input-step-title, .calc-input-support-title,
        .calc-input-panel-step3-title, .calc-input-panel-step4-title) {
        display: block;
    }

    .calc-input-panel :is(.calc-input-step-name, .calc-input-support-name,
        .calc-input-panel-step3-name, .calc-input-panel-step4-name) {
        width: auto;
        white-space: normal;
    }

    .calc-input-panel :is(.calc-input-step-header, .calc-input-support-header,
        .calc-input-panel-step3-header, .calc-input-panel-step4-header) {
        min-height: 44px;
        align-items: center;
        gap: 12px;
    }

    .calc-input-panel :is(.calc-input-step-chevron, .calc-input-support-chevron,
        .calc-input-panel-step3-chevron, .calc-input-panel-step4-chevron) {
        width: 24px;
        flex: 0 0 24px;
    }

    .calc-input-panel :is(.calc-input-field-label, .calc-input-step4-duration-label) {
        width: auto;
        min-width: 0;
        height: auto;
        flex: 1 1 auto;
    }

    .calc-input-panel :is(.calc-input-field-required, .calc-input-step4-duration-required) {
        width: auto;
        flex: none;
    }

    .calc-input-panel :is(.calc-input-select, .calc-input-step4-select, .calc-input-step4-input) {
        width: 100%;
        min-width: 0;
    }

    .calc-input-panel :is(.calc-input-select, .calc-input-step4-select) {
        width: calc(100% + 28px);
    }

    .calc-input-panel .calc-input-select {
        padding-top: 10px;
        padding-bottom: 10px;
        line-height: 22px;
    }

    .calc-input-panel .calc-input-step4-input-row {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .calc-input-panel .calc-input-step4-input {
        height: 25px;
        line-height: 22px;
        padding: 0;
    }

    .calc-input-panel .calc-input-support-option-box {
        height: auto;
        min-height: 50px;
        padding: 12px;
    }

    .calc-input-panel .calc-input-support-option-row {
        height: auto;
        align-items: center;
    }

    .calc-input-panel .calc-input-support-option-text {
        width: auto;
        min-width: 0;
        height: auto;
        flex: 1 1 auto;
        white-space: normal;
    }

    .calc-input-panel .calc-input-step4-duration-pair {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        height: auto;
        gap: 16px;
    }

    .calc-input-panel .calc-input-step4-duration-pair > .calc-input-step4-duration-field {
        width: 100%;
    }

    .calc-input-panel .calc-input-glyph-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .calc-input-glyph-summary > div,
    .calc-input-glyph-row,
    .calc-input-glyph-text {
        width: auto;
        min-width: 0;
    }

    .calc-input-btn-reset,
    .calc-input-btn-calculate {
        width: auto;
        min-width: 0;
        padding-left: 12px;
        padding-right: 12px;
        flex: 1 1 0;
    }

    .results-top {
        height: auto;
        flex-wrap: wrap;
        gap: 16px;
    }

    .results-top-actions {
        flex: 1 1 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .results-top-actions > button {
        width: auto;
        min-width: 0;
        min-height: 44px;
        flex: 1 1 160px;
        padding: 0 12px;
        font-size: 16px;
    }

    .results-summary-grid,
    #stressResults,
    .results-head-row,
    .calc-result-card,
    .visual-stack-title,
    .visual-stack-divider,
    .visual-stack-content {
        width: 100%;
        min-width: 0;
    }

    .results-summary-grid {
        height: auto;
        min-height: 0;
        gap: 16px;
    }

    .results-head-row {
        grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
    }

    #stressResults {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        grid-auto-rows: 1fr;
        align-items: stretch;
    }

    #stressResults::before {
        display: none;
    }

    .calc-result-card {
        grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
        height: auto;
        padding: 16px;
    }

    .calc-result-label {
        display: block;
        height: auto;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .calc-result-value,
    .calc-result-value-secondary,
    #stressResults.is-single-material .calc-result-value {
        width: 100%;
        min-width: 0;
    }

    #stressResults.is-single-material .results-head-row,
    #stressResults.is-single-material .calc-result-card {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    }

    .visual-stack-title {
        height: auto;
    }

    .visual-stack-content .calc-stack-wrap {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 16px;
        padding: 8px 0 16px;
    }

    .visual-stack-content .calc-stack-left,
    .visual-stack-content .calc-stack-right {
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 1024px) {
    .calc-page {
        flex-direction: column;
        align-items: stretch;
    }

    .calc-input-panel,
    .calc-results-panel {
        flex: none;
        width: 100%;
        min-width: 0;
        max-width: 914px;
        margin: 0 auto;
    }

    .calc-results-panel {
        min-height: 280px;
    }
}

@media (max-width: 900px) {
    .page-header-bar {
        margin-left: 10px;
        margin-right: 10px;
    }

    .page-title {
        font-size: 32px;
    }

    .page-subtitle {
        font-size: 18px;
    }

    .btn-methodology {
        font-size: 14px;
        padding: 8px 20px;
    }

    .results-summary-grid { flex-direction: column; }
}

@media (max-width: 500px) {
}

@media (max-width: 600px) {
    .calc-page {
        padding: 12px;
        gap: 12px;
    }

    .calc-input-panel,
    .calc-results-panel {
        padding: 16px;
    }

    .calc-input-panel .calc-input-step4-duration-pair {
        grid-template-columns: minmax(0, 1fr);
    }

    .calc-input-panel select,
    .calc-input-panel input,
    .export-calc-box input {
        font-size: 16px;
    }

    .results-top-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .results-top-actions .btn-export-report {
        grid-column: 1 / -1;
    }

    .results-head-row,
    .calc-result-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .results-head-row {
        height: auto;
    }

    .results-head-label {
        display: none;
    }

    .results-head-col {
        height: auto;
        min-height: 44px;
        padding: 8px;
        font-size: 14px;
    }

    .calc-result-label {
        grid-column: 1 / -1;
    }

    #stressResults.is-single-material .results-head-row,
    #stressResults.is-single-material .calc-result-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .visual-stack-content .calc-stack-scale-item-first {
        gap: 0;
    }

    .visual-stack-content .calc-stack-scale-nr {
        display: none;
    }

    .visual-stack-content .calc-stack-scale-num {
        text-align: center;
    }
}

@media (max-width: 1439px) {
    body .report-view-shell {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 12px;
    }

    .report-preview-frame {
        min-height: 0;
        padding: 16px;
    }

    .report-export-success-strip {
        width: 100%;
        height: auto;
        min-height: 33px;
        padding: 8px 12px;
    }

    .report-export-success-text {
        width: auto;
        height: auto;
        line-height: 17px;
        white-space: normal;
    }

    .report-top-white-box {
        width: 100%;
        height: auto;
        min-height: 90px;
        flex-wrap: wrap;
        gap: 16px;
        padding: 16px;
    }

    .report-top-white-title {
        flex: 1 1 220px;
        line-height: 1.3;
    }

    .report-top-white-actions {
        flex: 1 1 400px;
        min-width: 0;
        flex-wrap: wrap;
    }

    .report-top-white-actions > .report-pill-btn,
    .report-support-control {
        flex: 1 1 160px;
        min-width: 0;
    }

    .report-support-control > .report-pill-btn {
        width: 100%;
    }

    .report-top-white-actions .report-pill-btn {
        height: auto;
        min-height: 44px;
        white-space: normal;
    }

    .report-pages-scroll {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        order: 2;
    }

    .report-pages-scroll > .report-white-page + .report-white-page {
        margin-top: 20px;
    }
}

