        /* Styles for the calculator */
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        h1, h2 {
            text-align: center;
        }
        .calculator {
            max-width: 1000px;
            margin: auto;
        }
        .options-container {
            width: 100%;
        }
        .options-table, .results-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 15px;
        }
        .options-table th, .options-table td,
        .results-table th, .results-table td {
            border: 1px solid #ccc;
            padding: 10px;
            vertical-align: top;
        }
        .options-table th, .results-table th {
            background-color: #f9f9f9;
        }
        .option-input {
            width: 100%;
            padding: 5px;
            margin-top: 3px;
            margin-bottom: 5px;
            box-sizing: border-box;
        }
        .remove-option {
            cursor: pointer;
            font-size: 1.5em;
            vertical-align: middle;
            padding-top: 15px;
            color: #888;
            text-align: center;
        }
        .remove-option:hover {
            color: #f00;
        }
        .results {
            margin-top: 30px;
            text-align: center;
        }
        .button-group {
            text-align: center;
            margin-top: 20px;
        }
        button {
            padding: 10px 15px;
            font-size: 16px;
        }
        .add-car-button {
            width: 100%;
            background-color: #f9f9f9;
            color: #666;
            border: 1px solid #ccc;
            border-radius: 0;
            cursor: pointer;
            padding: 10px;
            text-align: center;
            font-weight: bold;
        }
        .add-car-button:hover {
            background-color: #f0f0f0;
        }
        .calculate-button {
            background-color: #28a745;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s;
        }
        .calculate-button:hover {
            background-color: #218838;
        }
        .clear-all-button {
            background: none;
            border: none;
            color: #dc3545;
            cursor: pointer;
            font-size: 14px;
            padding: 5px 10px;
            text-decoration: underline;
            display: flex;
            align-items: center;
            margin: 10px auto;
        }
        .clear-all-button:hover {
            color: #c82333;
        }
        .clear-icon {
            margin-right: 5px;
        }
        .investment-assumptions {
            width: 100%;
            background-color: #f0f0f0;
            border: 1px solid #ccc;
            border-radius: 5px;
            padding: 10px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            margin-top: 20px;
        }
        .investment-assumptions h2 {
            font-size: 16px;
            margin-top: 0;
            margin-bottom: 15px;
        }
        .investment-assumptions form {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
        }
        .investment-assumptions label {
            display: flex;
            align-items: center;
            margin-right: 20px;
            margin-bottom: 10px;
            font-size: 14px;
            white-space: nowrap;
        }
        .investment-assumptions input,
        .investment-assumptions select {
            margin-left: 10px;
            padding: 5px;
            box-sizing: border-box;
        }
        #compareOptionSelect {
            margin-bottom: 10px;
        }
        .depreciation-note {
            font-size: 14px;
            color: #666;
            margin-top: 10px;
            text-align: center;
        }
        .info-icon {
            display: inline-block;
            cursor: help;
            margin-left: 5px;
            font-size: 16px;
            color: inherit;
        }
        .tooltip {
            position: relative;
            display: inline-block;
        }
        .tooltip .tooltiptext {
            visibility: hidden;
            width: 250px;
            background-color: #555;
            color: #fff;
            text-align: center;
            border-radius: 6px;
            padding: 5px;
            position: absolute;
            z-index: 1;
            bottom: 125%;
            left: 50%;
            margin-left: -125px;
            opacity: 0;
            transition: opacity 0.3s;
        }
        .tooltip:hover .tooltiptext {
            visibility: visible;
            opacity: 1;
        }
        #includeCarValue + label {
            font-weight: normal;
        }
        #includeCarValue + label span {
            font-weight: normal;
        }
        /* Styles for the tax-settings section */
        .tax-settings {
            width: 100%;
            background-color: #f0f0f0;
            border: 1px solid #ccc;
            border-radius: 5px;
            padding: 10px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            margin-top: 20px;
        }
        .tax-settings h2 {
            font-size: 16px;
            margin-top: 0;
            margin-bottom: 15px;
        }
        .tax-settings form {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
        }
        .tax-settings label {
            display: flex;
            align-items: center;
            margin-right: 20px;
            margin-bottom: 10px;
            font-size: 14px;
            white-space: nowrap;
        }
        .tax-settings input,
        .tax-settings select {
            margin-left: 10px;
            padding: 5px;
            box-sizing: border-box;
        }
        #salesTaxInputs {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
        }
        #salesTaxInputs label {
            margin-right: 20px;
            display: inline-flex;
            align-items: center;
        }
        #stateDropdown,
        #customTaxRate {
            width: auto;
            min-width: 100px;
        }
        .icon-cell {
            font-size: 24px;
            text-align: center;
            vertical-align: middle;
        }
        /* Add this new style */
        .add-car-row {
            width: 100%;
        }
        .add-car-row td {
            padding: 0 !important;
        }
        /* Add these new styles */
        .loan-term-container {
            display: flex;
            align-items: center;
        }
        .loan-term-container input {
            flex: 1;
            margin-right: 5px;
        }
        .loan-term-container select {
            width: auto;
        }
        /* Add these new styles */
        .recurring-expenses-container {
            display: flex;
            gap: 5px;
            margin-bottom: 8px;
        }
        .recurring-expenses-container input {
            flex: 1;
            margin-right: 5px;
        }
        .recurring-expenses-container select {
            width: auto;
        }
        /* New styles for the combined panel */
        .combined-panel {
            width: 100%;
            background-color: #f0f0f0;
            border: 1px solid #ccc;
            border-radius: 5px;
            padding: 10px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            margin-top: 20px;
        }
        .combined-panel h2 {
            font-size: 18px;
            margin-top: 0;
            margin-bottom: 15px;
            text-align: center;
        }
        .combined-panel form {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
        }
        .combined-panel .subsection {
            flex: 1;
            margin-right: 20px;
            margin-bottom: 10px;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
            background-color: #f0f0f0; /* Match parent panel background */
        }
        .combined-panel .subsection h3 {
            font-size: 16px;
            margin-top: 0;
            margin-bottom: 10px;
        }
        .subtitle {
            text-align: center;
            font-size: 1.2em;
            color: #666;
            margin-bottom: 10px;
        }
        .subtitle-examples {
            text-align: center;
            font-size: 1em;
            color: #888;
            margin-bottom: 20px;
        }
        .sales-tax-form {
            display: flex;
            align-items: center;
        }
        .sales-tax-inputs {
            display: flex;
            align-items: center;
            margin-left: 20px;
        }
        .sales-tax-inputs label {
            display: flex;
            align-items: center;
            margin-right: 15px; /* Increased from 10px to 15px for more space between sets */
        }
        .sales-tax-inputs label span {
            margin-right: 4px;
        }
        #stateDropdown,
        #customTaxRate {
            margin-left: 4px;
        }
        /* Align inputs with the checkbox label */
        #includeSalesTax,
        #stateDropdown,
        #customTaxRate {
            margin-top: 2px; /* Adjust this value as needed to align with the checkbox */
        }
        #salesTaxInputs {
            visibility: hidden;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        #salesTaxInputs.visible {
            visibility: visible;
            opacity: 1;
        }
        .results-subtitle {
            font-size: 14px;
            color: #666;
            margin-bottom: 20px;
            text-align: center;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

/* Add this new rule for labels */
label {
    font-size: 0.9em;
    margin-top: 5px;
    display: inline-block;
}

/* Update the existing .option-input rule */
.option-input {
    width: 100%;
    padding: 5px;
    margin-top: 3px;
    margin-bottom: 5px;
    box-sizing: border-box;
}

/* Add a new rule for select elements */
select.option-input {
    margin-bottom: 8px;
}

/* Update the existing .recurring-expenses-container rule */
.recurring-expenses-container {
    display: flex;
    gap: 5px;
    margin-bottom: 8px;
}

/* Add a new rule for the purchase type cell */
td:nth-child(3) {
    padding-bottom: 5px;
}

/* Update the existing .remove-option rule */
.remove-option {
    cursor: pointer;
    font-size: 1.5em;
    vertical-align: middle;
    padding-top: 15px;
    color: #888;
    text-align: center;
}

/* Update the existing rule for td:nth-child(7) (the cell containing expenses) */
.options-table td:nth-child(7) br {
    display: none; /* Remove the line break */
}

/* Add a new rule for the label of Recurring Expenses */
.options-table td:nth-child(7) label:nth-of-type(2) {
    margin-top: 8px; /* Add some space above the Recurring Expenses label */
    display: inline-block; /* Ensure the margin is applied */
}

/* Update the existing .options-table rule */
.options-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 15px;
    table-layout: fixed; /* Add this line */
}

/* Add a new rule for all td elements in the options table */
.options-table td {
    width: 12.5%; /* 100% divided by 8 columns */
    vertical-align: top;
    padding: 10px;
    box-sizing: border-box;
}

/* Adjust the icon cell width */
.options-table td.icon-cell {
    width: 5%; /* Make the icon column narrower */
}

/* Adjust the option number column width */
.options-table td:nth-child(2) {
    width: 7.5%; /* Make the option number column slightly wider than the icon */
}

/* Adjust the remove option column width */
.options-table td.remove-option {
    width: 5%; /* Make the remove option column narrower */
}

/* Distribute the remaining width among other columns */
.options-table td:nth-child(3),
.options-table td:nth-child(4),
.options-table td:nth-child(5),
.options-table td:nth-child(6),
.options-table td:nth-child(7) {
    width: 16.5%; /* (100% - 5% - 7.5% - 5%) / 5 */
}

.tooltip-cell {
    position: relative;
}

.tooltip-cell .tooltip {
    display: block;
    width: 100%;
    height: 100%;
}

.tooltip-cell .tooltip .tooltiptext {
    visibility: hidden;
    width: 200px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -100px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip-cell:hover .tooltip .tooltiptext {
    visibility: visible;
    opacity: 1;
}

.disclaimer {
    margin: 20px 0;
    padding: 15px;
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    color: #555;
    line-height: 1.4;
}

.disclaimer p {
    margin: 0;
}

.disclaimer strong {
    color: #333;
}

.results {
    margin-top: 30px;
    text-align: center;
}

.results-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.results-table th, 
.results-table td {
    border: 1px solid #ccc;
    padding: 10px;
    vertical-align: top;
}

.results-table th {
    background-color: #f9f9f9;
}

.results-disclaimer td {
    background-color: #f8f8f8;
    font-size: 12px;
    color: #555;
    line-height: 1.4;
    text-align: left;
    border-top: 1px solid #ccc; /* Changed from 2px to 1px to match other borders */
}

.results-disclaimer p {
    margin: 0;
}

.results-disclaimer strong {
    color: #333;
}

.tooltiptext {
    user-select: none;
    -webkit-user-select: none;  /* Safari */
    -moz-user-select: none;     /* Firefox */
    -ms-user-select: none;      /* IE10+/Edge */
}
