.gtm-bsc-wrap { --bsc-ink: #0D1A2D; --bsc-navy: #1B3A6B; --bsc-navy-deep: #122649; --bsc-gold: #C9A84C; --bsc-gold-lt: #DFC070; --bsc-gold-dim: rgba(201, 168, 76, .13); --bsc-gold-rule: rgba(201, 168, 76, .28); --bsc-text-on-dark: rgba(255, 255, 255, .78); font-family: "DM Sans", sans-serif; background: var(--bsc-ink); color: rgb(255, 255, 255); border-radius: 4px; padding: 20px; box-sizing: border-box; -webkit-font-smoothing: antialiased; max-width: 100%; width: 100%; overflow: hidden; }
.gtm-bsc-wrap *, .gtm-bsc-wrap ::after, .gtm-bsc-wrap ::before { box-sizing: border-box; }
.gtm-bsc-card { background: rgba(255, 255, 255, 0.04); border: 1px solid var(--bsc-gold-rule); border-radius: 3px; padding: 28px; max-width: 100%; overflow: hidden; }
.gtm-bsc-section-title { font-family: "Cormorant Garamond", serif; font-size:1.25rem; font-weight: 600; color: rgb(255, 255, 255); margin: 0px 0px 16px; padding-bottom: 11px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.gtm-bsc-settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 28px; }
.gtm-bsc-fg { display: flex; flex-direction: column; gap: 6px; }
.gtm-bsc-fg > label { letter-spacing: 0.05em; text-transform: uppercase; display: block; font-size:0.6875rem !important; font-weight: 500 !important; color: rgba(255, 255, 255, 0.5) !important; margin: 0px !important; padding: 0px !important; background: 0px 0px !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; }
.gtm-bsc-hint { font-size:0.65625rem; color: rgba(255, 255, 255, 0.46); font-style: italic; line-height: 1.4; }
.gtm-bsc-seg { display: flex; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 2px; overflow: hidden; }
.gtm-bsc-seg-btn { flex: 1 1 0%; cursor: pointer; transition: 0.2s; touch-action: manipulation; background: 0px 0px !important; border-width: medium 1px medium medium !important; border-style: none solid none none !important; border-color: currentcolor rgba(255, 255, 255, 0.12) currentcolor currentcolor !important; border-image: none !important; padding: 9px 0px !important; font-family: "DM Sans", sans-serif !important; font-size:0.8125rem !important; font-weight: 500 !important; color: rgba(255, 255, 255, 0.45) !important; box-shadow: none !important; border-radius: 0px !important; }
.gtm-bsc-seg-btn:last-child { border-right-width: medium !important; border-right-style: none !important; border-right-color: currentcolor !important; }
.gtm-bsc-seg-btn.active { background: var(--bsc-navy) !important; color: rgb(255, 255, 255) !important; }
.gtm-bsc-seg-btn:hover:not(.active) { background: rgba(255, 255, 255, 0.05) !important; color: rgba(255, 255, 255, 0.7) !important; }
.gtm-bsc-input, .gtm-bsc-wrap input[type="number"], .gtm-bsc-wrap input[type="text"] { transition: border-color 0.2s; width: 100%; touch-action: manipulation; background: rgba(255, 255, 255, 0.1) !important; border: 1px solid rgba(255, 255, 255, 0.18) !important; border-radius: 2px !important; padding: 9px 12px !important; font-family: "DM Sans", sans-serif !important; font-size:1rem !important; color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important; outline: 0px !important; }
.gtm-bsc-input:focus, .gtm-bsc-wrap input[type="number"]:focus, .gtm-bsc-wrap input[type="text"]:focus { border-color: rgba(201, 168, 76, 0.65) !important; background: rgba(255, 255, 255, 0.13) !important; }
.gtm-bsc-wrap input::placeholder { color: rgba(255, 255, 255, 0.35) !important; -webkit-text-fill-color: rgba(255, 255, 255, 0.35) !important; }
.gtm-bsc-pills { display: flex; gap: 7px; flex-wrap: wrap; }
.gtm-bsc-pill { cursor: pointer; transition: 0.2s; touch-action: manipulation; background: 0px 0px !important; border: 1px solid rgba(255, 255, 255, 0.15) !important; border-radius: 2px !important; padding: 7px 13px !important; font-family: "DM Sans", sans-serif !important; font-size:0.78125rem !important; font-weight: 500 !important; color: rgba(255, 255, 255, 0.5) !important; box-shadow: none !important; }
.gtm-bsc-pill.active { background: var(--bsc-gold-dim) !important; border-color: var(--bsc-gold-rule) !important; color: var(--bsc-gold) !important; }
.gtm-bsc-pill:hover:not(.active) { border-color: rgba(255, 255, 255, 0.3) !important; color: rgba(255, 255, 255, 0.75) !important; }
.gtm-bsc-custom-row { display: none; margin-top: 10px; align-items: center; gap: 10px; }
.gtm-bsc-custom-row.visible { display: flex; }
.gtm-bsc-table-wrap { margin-bottom: 8px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 2px; width: 100%; max-width: 100%; overflow: hidden; }
.gtm-bsc-month-table { width: 100%; border-collapse: collapse; table-layout: fixed; max-width: 100%; }
.gtm-bsc-month-table colgroup col:first-child { width: 26%; }
.gtm-bsc-month-table colgroup col:nth-child(2) { width: 44%; }
.gtm-bsc-month-table colgroup col:nth-child(3) { width: 30%; }
.gtm-bsc-month-table thead th { font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; text-align: left; background: rgba(255, 255, 255, 0.04); border-bottom: 1px solid rgba(255, 255, 255, 0.08); overflow: hidden; white-space: nowrap; font-size:0.625rem !important; color: rgba(255, 255, 255, 0.4) !important; padding: 10px 8px !important; }
.gtm-bsc-month-table thead th:nth-child(2), .gtm-bsc-month-table thead th:nth-child(3) { text-align: right; }
.gtm-bsc-month-table tbody tr { border-bottom: 1px solid rgba(255, 255, 255, 0.05); transition: background 0.15s; }
.gtm-bsc-month-table tbody tr:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.gtm-bsc-month-table tbody tr:hover { background: rgba(255, 255, 255, 0.03); }
.gtm-bsc-month-table td { vertical-align: middle; overflow: hidden; padding: 7px 8px !important; font-size:0.8125rem !important; color: rgba(255, 255, 255, 0.74) !important; }
.gtm-bsc-month-table td:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size:0.75rem !important; color: rgba(255, 255, 255, 0.6) !important; }
.gtm-bsc-month-table td.run-avg-cell { text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size:0.75rem !important; color: rgba(255, 255, 255, 0.55) !important; }
.gtm-bsc-month-input { width: 100%; transition: border-color 0.2s, background 0.2s; text-align: right; display: block; touch-action: manipulation; background: rgba(255, 255, 255, 0.08) !important; border-width: medium medium 1px !important; border-style: none none solid !important; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.2) !important; border-image: none !important; border-radius: 2px !important; padding: 5px 4px !important; font-family: "DM Sans", sans-serif !important; font-size:1rem !important; color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important; outline: 0px !important; }
.gtm-bsc-month-input:focus { border-bottom-color: rgba(201, 168, 76, 0.7) !important; background: rgba(255, 255, 255, 0.13) !important; }
.gtm-bsc-month-input::placeholder { color: rgba(255, 255, 255, 0.3) !important; -webkit-text-fill-color: rgba(255, 255, 255, 0.3) !important; }
.gtm-bsc-month-table tfoot td { font-weight: 600; border-top: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.03); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 10px 8px !important; font-size:0.75rem !important; color: rgba(255, 255, 255, 0.5) !important; }
.gtm-bsc-foot-total { font-family: "Cormorant Garamond", serif; text-align: right; font-size:1rem !important; color: rgb(255, 255, 255) !important; }
.gtm-bsc-prefill-row { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.gtm-bsc-prefill-label { font-size:0.6875rem; color: rgba(255, 255, 255, 0.35); white-space: nowrap; }
.gtm-bsc-prefill-btn { cursor: pointer; transition: 0.2s; touch-action: manipulation; background: 0px 0px !important; border: 1px solid rgba(255, 255, 255, 0.15) !important; border-radius: 2px !important; padding: 5px 10px !important; font-family: "DM Sans", sans-serif !important; font-size:0.71875rem !important; color: rgba(255, 255, 255, 0.5) !important; box-shadow: none !important; }
.gtm-bsc-prefill-btn:hover { border-color: var(--bsc-gold-rule) !important; color: var(--bsc-gold) !important; }
.gtm-bsc-calc-note { font-size:0.71875rem; color: rgba(255, 255, 255, 0.58); line-height: 1.6; margin-bottom: 18px; font-style: italic; }
.gtm-bsc-actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.gtm-bsc-btn-calc { letter-spacing: 0.13em; text-transform: uppercase; cursor: pointer; transition: background 0.2s, transform 0.15s; touch-action: manipulation; background: var(--bsc-gold) !important; color: var(--bsc-ink) !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; padding: 13px 28px !important; border-radius: 2px !important; font-family: "DM Sans", sans-serif !important; font-size:0.71875rem !important; font-weight: 700 !important; box-shadow: none !important; }
.gtm-bsc-btn-calc:hover { transform: translateY(-1px); background: var(--bsc-gold-lt) !important; }
.gtm-bsc-btn-reset { letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: 0.2s; touch-action: manipulation; background: 0px 0px !important; border: 1px solid rgba(255, 255, 255, 0.18) !important; color: rgba(255, 255, 255, 0.5) !important; padding: 13px 20px !important; border-radius: 2px !important; font-family: "DM Sans", sans-serif !important; font-size:0.71875rem !important; box-shadow: none !important; }
.gtm-bsc-btn-reset:hover { border-color: rgba(255, 255, 255, 0.35) !important; color: rgba(255, 255, 255, 0.8) !important; }
.gtm-bsc-validation { display: none; background: rgba(252, 165, 165, 0.1); border: 1px solid rgba(252, 165, 165, 0.3); border-radius: 2px; padding: 12px 16px; font-size:0.8125rem; color: rgb(252, 165, 165); margin-top: 16px; line-height: 1.5; }
.gtm-bsc-results { margin-top: 36px; padding-top: 32px; border-top: 1px solid var(--bsc-gold-rule); display: none; }
.gtm-bsc-results-primary { background: var(--bsc-navy-deep); border: 1px solid var(--bsc-gold-rule); border-radius: 3px; padding: 28px 32px; margin-bottom: 24px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
.gtm-bsc-rp-label { font-size:0.65625rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.56); margin-bottom: 6px; }
.gtm-bsc-rp-value { font-family: "Cormorant Garamond", serif; font-size:2.25rem; font-weight: 600; color: rgb(255, 255, 255); line-height: 1; }
.gtm-bsc-rp-value.accent { color: var(--bsc-gold); }
.gtm-bsc-rp-sub { font-size:0.71875rem; color: rgba(255, 255, 255, 0.6); margin-top: 5px; line-height: 1.4; }
.gtm-bsc-scenario-wrap { width: 100%; max-width: 100%; overflow: hidden; }
.gtm-bsc-scenario-table { width: 100%; border-collapse: collapse; font-size:0.8125rem; margin-bottom: 20px; table-layout: fixed; max-width: 100%; }
.gtm-bsc-scenario-table th { font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-align: left; border-bottom: 1px solid rgba(255, 255, 255, 0.08); overflow: hidden; white-space: nowrap; font-size:0.625rem !important; color: rgba(255, 255, 255, 0.38) !important; padding: 9px 8px !important; }
.gtm-bsc-scenario-table td { border-bottom: 1px solid rgba(255, 255, 255, 0.05); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 10px 8px !important; color: var(--bsc-text-on-dark) !important; }
.gtm-bsc-scenario-table tr:last-child td { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
.gtm-bsc-scenario-table tr:hover td { background: rgba(255, 255, 255, 0.03); }
.gtm-bsc-disclaimer { font-size:0.6875rem; color: rgba(255, 255, 255, 0.54); line-height: 1.6; margin-top: 20px; padding: 14px 16px; border-left: 2px solid var(--bsc-gold-rule); font-style: italic; }
@media (max-width: 768px) {.gtm-bsc-wrap { padding: 16px 12px; }
.gtm-bsc-card { padding: 22px 16px; }
.gtm-bsc-settings-grid { grid-template-columns: 1fr; gap: 14px; }
.gtm-bsc-results-primary { grid-template-columns: 1fr 1fr; gap: 18px; padding: 22px 18px; }
.gtm-bsc-results-primary > div:last-child { grid-column: 1 / -1; border-top: 1px solid rgba(255, 255, 255, 0.07); padding-top: 16px; margin-top: 2px; }}
@media (max-width: 520px) {.gtm-bsc-wrap { padding: 10px 6px; }
.gtm-bsc-card { padding: 16px 10px; }
.gtm-bsc-section-title { font-size:1.125rem; }
.gtm-bsc-month-table colgroup col:first-child { width: 22%; }
.gtm-bsc-month-table colgroup col:nth-child(2) { width: 48%; }
.gtm-bsc-month-table colgroup col:nth-child(3) { width: 30%; }
.gtm-bsc-month-table thead th { letter-spacing: 0.02em; padding: 8px 5px !important; font-size:0.5625rem !important; }
.gtm-bsc-month-table td { padding: 6px 5px !important; }
.gtm-bsc-month-table td:first-child { font-size:0.6875rem !important; }
.gtm-bsc-month-table td.run-avg-cell { font-size:0.6875rem !important; }
.gtm-bsc-month-input { padding: 4px 3px !important; }
.gtm-bsc-month-table tfoot td { padding: 8px 5px !important; font-size:0.6875rem !important; }
.gtm-bsc-foot-total { font-size:0.875rem !important; }
.gtm-bsc-prefill-btn { font-size:0.6875rem !important; padding: 5px 8px !important; }
.gtm-bsc-results-primary { grid-template-columns: 1fr; gap: 14px; padding: 16px 14px; }
.gtm-bsc-results-primary > div:last-child { grid-column: auto; border-top: 1px solid rgba(255, 255, 255, 0.07); padding-top: 14px; }
.gtm-bsc-rp-value { font-size:1.75rem; }
.gtm-bsc-scenario-table th { padding: 8px 5px !important; font-size:0.5625rem !important; }
.gtm-bsc-scenario-table td { padding: 8px 5px !important; font-size:0.75rem !important; }
.gtm-bsc-actions { flex-direction: column; gap: 10px; }
.gtm-bsc-btn-calc, .gtm-bsc-btn-reset { width: 100% !important; text-align: center !important; padding: 14px 20px !important; }}
@media (max-width: 390px) {.gtm-bsc-wrap { padding: 8px 4px; }
.gtm-bsc-card { padding: 14px 8px; }
.gtm-bsc-month-table colgroup col:first-child { width: 20%; }
.gtm-bsc-month-table colgroup col:nth-child(2) { width: 50%; }
.gtm-bsc-month-table colgroup col:nth-child(3) { width: 30%; }
.gtm-bsc-month-table thead th { padding: 7px 4px !important; font-size:0.5rem !important; }
.gtm-bsc-month-table td { padding: 5px 4px !important; }
.gtm-bsc-month-table td:first-child { font-size:0.625rem !important; }
.gtm-bsc-month-table td.run-avg-cell { font-size:0.625rem !important; }
.gtm-bsc-month-input { padding: 3px 2px !important; }
.gtm-bsc-month-table tfoot td { padding: 7px 4px !important; font-size:0.625rem !important; }
.gtm-bsc-scenario-table th { padding: 7px 4px !important; font-size:0.5rem !important; }
.gtm-bsc-scenario-table td { padding: 7px 4px !important; font-size:0.6875rem !important; }}
@media (max-width: 340px) {.gtm-bsc-wrap { padding: 6px 4px; }
.gtm-bsc-card { padding: 12px 8px; }
.gtm-bsc-section-title { font-size:1rem; }
.gtm-bsc-month-table colgroup col:first-child { width: 18%; }
.gtm-bsc-month-table colgroup col:nth-child(2) { width: 52%; }
.gtm-bsc-month-table colgroup col:nth-child(3) { width: 30%; }
.gtm-bsc-month-table thead th { letter-spacing: 0px; padding: 6px 3px !important; font-size:0.5rem !important; }
.gtm-bsc-month-table td { padding: 5px 3px !important; }
.gtm-bsc-month-table td:first-child { font-size:0.625rem !important; }
.gtm-bsc-month-table td.run-avg-cell { font-size:0.625rem !important; }
.gtm-bsc-month-input { padding: 3px 2px !important; }
.gtm-bsc-month-table tfoot td { padding: 6px 3px !important; font-size:0.625rem !important; }
.gtm-bsc-foot-total { font-size:0.75rem !important; }
.gtm-bsc-seg-btn { font-size:0.75rem !important; }
.gtm-bsc-pill { padding: 6px 10px !important; font-size:0.6875rem !important; }
.gtm-bsc-prefill-btn { font-size:0.625rem !important; padding: 4px 6px !important; }
.gtm-bsc-calc-note { font-size:0.6875rem; }
.gtm-bsc-hint { font-size:0.625rem; }
.gtm-bsc-results-primary { padding: 14px 10px; gap: 12px; }
.gtm-bsc-rp-value { font-size:1.5rem; }
.gtm-bsc-rp-label { font-size:0.5625rem; }
.gtm-bsc-rp-sub { font-size:0.625rem; }
.gtm-bsc-scenario-table th { letter-spacing: 0px; padding: 6px 3px !important; font-size:0.5rem !important; }
.gtm-bsc-scenario-table td { padding: 6px 3px !important; font-size:0.6875rem !important; }
.gtm-bsc-btn-calc, .gtm-bsc-btn-reset { padding: 12px 14px !important; font-size:0.6875rem !important; }}