.loan-simulator{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.loan-simulator.is-embed{border-radius:0;box-shadow:none}.simulator-summary{background:var(--gradient-primary);padding:var(--spacing-lg) var(--spacing-xl);display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-xl);gap:var(--spacing-xl)}.simulator-summary .summary-item{text-align:center;color:var(--color-white)}.simulator-summary .summary-label{display:block;font-size:var(--font-size-sm);opacity:.9;margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.simulator-summary .summary-value{display:block;font-size:var(--font-size-2xl);font-weight:700}.simulator-summary .summary-item.primary .summary-value{font-size:var(--font-size-3xl)}.simulator-content{padding:var(--spacing-xl)}.simulator-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-xl);gap:var(--spacing-xl)}.simulator-column{display:flex;flex-direction:column;gap:var(--spacing-lg)}.simulator-section{background:var(--color-light-bg);border-radius:var(--radius-sm);padding:var(--spacing-lg)}.simulator-section .section-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-dark);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-primary-purple)}.simulator-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;gap:var(--spacing-md)}.simulator-row label{font-size:var(--font-size-sm);color:var(--color-text-dark);flex-shrink:0}.simulator-row .value{font-weight:500;color:var(--color-text-dark);text-align:right}.simulator-row.calculated{color:var(--color-text-medium)}.simulator-row.total{border-top:1px solid rgba(0,0,0,.1);margin-top:var(--spacing-sm);padding-top:var(--spacing-md);font-weight:600}.simulator-row.total .value{font-size:var(--font-size-md);color:var(--color-primary-purple)}.simulator-row.editable{background:var(--color-white);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-xs) calc(-1 * var(--spacing-md));border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.08)}.loan-simulator .input-wrapper{display:flex;align-items:center;gap:var(--spacing-xs)}.loan-simulator .input-wrapper input,.loan-simulator .input-wrapper select{width:120px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-text-light);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:right;background:var(--color-white);transition:border-color var(--transition-fast)}.loan-simulator .input-wrapper input:focus,.loan-simulator .input-wrapper select:focus{outline:none;border-color:var(--color-primary-purple);box-shadow:0 0 0 2px rgba(102,126,234,.1)}.loan-simulator .input-wrapper select{text-align:left;cursor:pointer}.loan-simulator .input-suffix{font-size:var(--font-size-xs);color:var(--color-text-medium);min-width:30px}.loan-simulator .input-wrapper input[type=number]::-webkit-inner-spin-button,.loan-simulator .input-wrapper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.loan-simulator .input-wrapper input[type=number]{-moz-appearance:textfield}.amortization-toggle{margin-top:var(--spacing-xl);text-align:center}.toggle-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:transparent;border:1px solid var(--color-primary-purple);color:var(--color-primary-purple);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.toggle-button:hover{background:var(--color-primary-purple);color:var(--color-white)}.toggle-button svg{transition:transform var(--transition-fast)}.toggle-button svg.rotated{transform:rotate(180deg)}.amortization-table-wrapper{margin-top:var(--spacing-lg);overflow-x:auto;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.1)}.amortization-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.amortization-table td,.amortization-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:right;border-bottom:1px solid rgba(0,0,0,.05)}.amortization-table th{background:var(--color-light-bg);font-weight:600;color:var(--color-text-dark);text-align:right;position:-webkit-sticky;position:sticky;top:0}.amortization-table td:first-child,.amortization-table th:first-child{text-align:center}.amortization-table tbody tr:hover{background:rgba(102,126,234,.05)}.amortization-table tbody tr:last-child td{border-bottom:none}.simulator-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid rgba(0,0,0,.1);text-align:center}.loan-simulator .reset-button{background:transparent;border:1px solid var(--color-text-light);color:var(--color-text-medium);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.loan-simulator .reset-button:hover{border-color:var(--color-primary-purple);color:var(--color-primary-purple)}.loan-simulator .embed-badge{background:var(--color-light-bg);padding:var(--spacing-md);text-align:center;border-top:1px solid rgba(0,0,0,.1)}.loan-simulator .embed-badge-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-dark);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.loan-simulator .embed-badge-link:hover{color:var(--color-primary-purple)}.loan-simulator .embed-badge-logo{height:24px;width:auto}.loan-simulator .embed-badge-text{font-weight:500}@media (max-width:968px){.simulator-grid{grid-template-columns:1fr}}@media (max-width:600px){.simulator-summary{grid-template-columns:1fr;gap:var(--spacing-md);padding:var(--spacing-md)}.simulator-summary .summary-value{font-size:var(--font-size-xl)}.simulator-summary .summary-item.primary .summary-value{font-size:var(--font-size-2xl)}.simulator-content{padding:var(--spacing-md)}.simulator-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.simulator-row.editable{padding:var(--spacing-md)}.loan-simulator .input-wrapper{width:100%}.loan-simulator .input-wrapper input,.loan-simulator .input-wrapper select{flex:1 1;width:auto}.amortization-table{font-size:var(--font-size-xs)}.amortization-table td,.amortization-table th{padding:var(--spacing-xs) var(--spacing-sm)}}