:root {    --accent-color: #cf000f;    --accent-hover: #b0000d;    --accent-light: rgba(207, 0, 15, 0.08);    --accent-glow: rgba(207, 0, 15, 0.25);    --glass-bg: rgba(255, 255, 255, 0.78);    --glass-border: rgba(255, 255, 255, 0.85);    --glass-shadow: 0 12px 40px 0 rgba(207, 0, 15, 0.06), 0 4px 16px 0 rgba(0, 0, 0, 0.04);    --text-dark: #1e293b;    --text-muted: #64748b;}.input-group {	position: relative!important;	display: -ms-flexbox!important;	display: flex!important;	-ms-flex-wrap: wrap!important;	flex-wrap: wrap!important;	-ms-flex-align: stretch!important;	align-items: stretch!important;	width: 100%;}.align-items-center {	-ms-flex-align: center !important;	align-items: center !important;}.d-flex-center {    display: flex;    align-items: center;    justify-content: center;}.gap-1 { gap: 0.25rem; }.gap-2 { gap: 0.5rem; }.gap-3 { gap: 1rem; }/* Glassmorphism Card Style */.glass-card {    background: var(--glass-bg);    backdrop-filter: blur(16px);    -webkit-backdrop-filter: blur(16px);    border: 1px solid var(--glass-border);    border-radius: 20px;    box-shadow: var(--glass-shadow);    transition: all 0.3s ease;}.glass-card:hover {    box-shadow: 0 16px 48px 0 rgba(207, 0, 15, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.05);}.glass-card-header {    background: rgba(255, 255, 255, 0.6);    border-bottom: 1px solid rgba(226, 232, 240, 0.8);    border-top-left-radius: 20px !important;    border-top-right-radius: 20px !important;}/* Custom Buttons */.btn-accent {    background-color: var(--accent-color);    color: #ffffff;    border: none;    border-radius: 12px;    font-weight: 600;    padding: 0.75rem 1.5rem;    transition: all 0.25s ease;    box-shadow: 0 4px 14px var(--accent-glow);}.btn-accent:hover, .btn-accent:focus {    background-color: var(--accent-hover);    color: #ffffff;    transform: translateY(-2px);    box-shadow: 0 6px 20px rgba(207, 0, 15, 0.35);}.btn-outline-accent {    border: 2px solid var(--accent-color);    color: var(--accent-color);    background: transparent;    border-radius: 12px;    font-weight: 600;    padding: 0.6rem 1.25rem;    transition: all 0.25s ease;}.btn-outline-accent:hover, .btn-outline-accent.active {    background-color: var(--accent-color);    color: #ffffff;    box-shadow: 0 4px 12px var(--accent-glow);}/* Mortgage Program selector tabs */.program-card {    cursor: pointer;    border: 2px solid transparent;    background: rgba(255, 255, 255, 0.65);    border-radius: 16px;    padding: 1.1rem 1.25rem;    transition: all 0.25s ease;    position: relative;    height: 100%;}.program-card:hover {    background: rgba(255, 255, 255, 0.95);    transform: translateY(-2px);}.program-card.active {    border-color: var(--accent-color);    background: #ffffff;    box-shadow: 0 8px 24px rgba(207, 0, 15, 0.12);}.program-card.active::after {    content: '\f00c';    font-family: 'Font Awesome 6 Free';    font-weight: 900;    position: absolute;    top: 12px;    right: 14px;    color: var(--accent-color);    font-size: 0.9rem;}/* Custom Input Group & Controls */.input-group-glass {    background: #ffffff;    border: 1px solid #cbd5e1;    border-radius: 12px;    overflow: hidden;    transition: border-color 0.2s ease, box-shadow 0.2s ease;    display: flex;    align-items: center;}.input-group-glass:focus-within {    border-color: var(--accent-color);    box-shadow: 0 0 0 3px var(--accent-light);}.input-group-glass .form-control {    border: none;    box-shadow: none;    font-weight: 700;    font-size: 1.15rem;    color: var(--text-dark);    background: transparent;    padding: 0.6rem 1rem;    height: auto;    width: auto}.input-group-glass .input-group-text {    background: transparent;    border: none;    color: var(--text-muted);    font-weight: 600;    padding-right: 1rem;}/* Custom Range Slider */input[type=range] {    -webkit-appearance: none;    width: 100%;    background: transparent;    margin-top: -6px;}input[type=range]:focus {    outline: none;}input[type=range]::-webkit-slider-runnable-track {    width: 100%;    height: 6px;    cursor: pointer;    background: #e2e8f0;    border-radius: 3px;}input[type=range]::-webkit-slider-thumb {    height: 20px;    width: 20px;    border-radius: 50%;    background: var(--accent-color);    cursor: pointer;    -webkit-appearance: none;    margin-top: -7px;    box-shadow: 0 2px 8px var(--accent-glow);    transition: transform 0.15s ease, background-color 0.15s ease;}input[type=range]::-webkit-slider-thumb:hover {    transform: scale(1.2);    background: var(--accent-hover);}/* Preset Chips */.chip {    display: inline-block;    padding: 0.35rem 0.85rem;    border-radius: 20px;    background: rgba(226, 232, 240, 0.75);    font-size: 0.825rem;    font-weight: 600;    color: #475569;    cursor: pointer;    transition: all 0.2s ease;    user-select: none;    border: 1px solid transparent;}.chip:hover {    background: #e2e8f0;    color: var(--text-dark);}.chip.active {    background: var(--accent-light);    color: var(--accent-color);    border-color: rgba(207, 0, 15, 0.3);}/* Badge Accent */.badge-accent {    background-color: var(--accent-light);    color: var(--accent-color);    border: 1px solid rgba(207, 0, 15, 0.2);    font-weight: 600;}.custom-control {	position: relative;	display: flex;	align-items: center;	min-height: 1.5rem;}/* Custom Switch BS4 Adjustment */.custom-switch .custom-control-label::before {    height: 1.25rem;    width: 2.25rem;    border-radius: 1rem;}.custom-switch .custom-control-label::after {    width: calc(1.25rem - 4px);    height: calc(1.25rem - 4px);    border-radius: 50%;}.custom-switch .custom-control-input:checked ~ .custom-control-label::before {    background-color: var(--accent-color);    border-color: var(--accent-color);}/* Main Payment Display Box */.payment-display {    background: linear-gradient(135deg, rgba(207, 0, 15, 0.05) 0%, rgba(207, 0, 15, 0.12) 100%);    border: 1px solid rgba(207, 0, 15, 0.2);    border-radius: 16px;    padding: 1.5rem;    text-align: center;    position: relative;    overflow: hidden;}.payment-display::before {    content: '';    position: absolute;    top: 0;    left: 0;    width: 4px;    height: 100%;    background-color: var(--accent-color);}.payment-amount {    font-size: 2.4rem;    font-weight: 800;    color: var(--accent-color);    letter-spacing: -0.5px;    line-height: 1.1;}.summary-item {    display: flex;    justify-content: space-between;    align-items: center;    padding: 0.75rem 0;    border-bottom: 1px dashed #e2e8f0;    font-size: 0.925rem;}.summary-item:last-child {    border-bottom: none;}.summary-label {    color: var(--text-muted);}.summary-value {    font-weight: 700;    color: var(--text-dark);}.chart-container {    position: relative;    height: 200px;    width: 100%;}.info-tooltip {    color: var(--text-muted);    cursor: pointer;    font-size: 0.85rem;}.info-tooltip:hover {    color: var(--accent-color);}.step-header {  display: flex;  align-items: center;  margin-bottom: 18px;}.step-number {  width: 48px;  height: 48px;  min-width: 48px;  border-radius: 50%;  border: 2px solid var(--accent-color);  color: var(--accent-color);  display: flex;  align-items: center;  justify-content: center;  font-weight: 700;  font-size: 1.25rem;  background: rgba(207, 0, 15, 0.06);  transition: all 0.3s ease;  margin-right: 16px;}.glass-card:hover .step-number {  background: var(--accent-color);  color: #ffffff;  box-shadow: 0 4px 12px var(--accent-glow);}  .step-title {    font-weight: 700;    font-size: 1.15rem;    line-height: 1.35;    margin: 0;    color: var(--text-main);  }  .step-description {    font-size: 0.94rem;    line-height: 1.6;    color: var(--text-muted);    margin-top: 4px;    margin-bottom: 0;    flex-grow: 1;  }