body, p, a, div, span, button, input, textarea, select, ul, ol, li, table, thead, tbody, tfoot, tr, td, th {
    font-family: 'Arial', sans-serif;
    font-size: 13px; /* all elements */
}

/* Add container alignment class for main content */
.main-content {
    max-width: 1000px;
    margin: 0 auto;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    border: 2px solid white; /* Replaced dashed green - Green border to show margin area */
}

/* Align sections with the left edge of the three-column container */
.aligned-section {
    margin-left: calc((100% - min(1200px, 100%)) / 2);
    margin-right: calc((100% - min(1200px, 100%)) / 2);
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
}

@media (max-width: 1000px) {
    .aligned-section {
        margin-left: 0;
        margin-right: 0;
    }
}

body {
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 2px solid white; /* Replaced dashed orange - Orange border to show body padding */
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit; /* This will allow the headers to retain their original sizes */
    text-align: center;
}

.system-size-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	    align-items: center;
    margin-bottom: 5px;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    padding: 10px;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

.system-size-section2 {
  display: flex;
  justify-content: center; /* Centers horizontally */
  align-items: center; /* Centers vertically */
    margin-bottom: 5px;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    padding: 10px;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

.system-size-table {
    font-size: 14px;
    border: 0;
    cellpadding: 1;
    cellspacing: 1;
}

/* Style for the container */
.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0px;
    margin: 2px 0;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.3) - Green background for margins */
    border: 1px solid white; /* Replaced dashed green - Green border for margin area */
}

/* Style for each responsive column */
.column {
    flex: 1;
    min-width: 200px;
    max-width: 350px;
    padding: 10px;
    box-sizing: border-box;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

.results_column {
    flex: 1;
    min-width: 600px;
    max-width: 600px;
    padding: 10px;
    box-sizing: border-box;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

/* Center the cost factors section */
.cost-factors-section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Style for each table */
.table {
    width: 100%;
    border-collapse: collapse;
}

td {
    text-align: left;
    vertical-align: top;
}

/* Center form elements */
.form-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 5px 0;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
}

.labor-rate-section {
    text-align: left;
    margin: 5px 10px;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    padding: 2px;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

.button-section {
    text-align: center;
    margin: 5px 10px;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    padding: 10px;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

.results-section {
    text-align: center;
    margin: 5px 0;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    padding: 15px;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

.footer {
    text-align: center;
    margin-top: 5px;
    font-size: 12px;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    padding: 5px;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
    border: 1px solid white; /* Replaced dashed rgba(255, 255, 0, 0.5) - Yellow border for padding area */
}

.button {
    padding: 6px 12px;
    font-size: 14px;
    background-color: #007BFF;  /* A shade of blue */
    color: #FFFFFF;  /* White color for the text */
    border: none;
    border-radius: 5px;  /* Rounded corners */
    cursor: pointer;  /* Hand icon on hover */
    font-family: Arial, sans-serif;  /* Modern font */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);  /* Subtle shadow */
    transition: background-color 0.3s ease;  /* Smooth transition for hover effect */
}

.button:hover {
    background-color: #0056b3;  /* A darker shade of blue for hover */
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    body {
        padding: 10px;
        background-color: white; /* Replaced rgba(255, 255, 0, 0.15) - Slightly more visible on mobile */
    }

    .container {
        flex-direction: column;
        align-items: center;
    }

    .column {
        width: 100%;
        max-width: none;
        margin-bottom: 5px;
        background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
    }

    .system-size-table {
        font-size: 12px;
    }

    .system-size-table input {
        width: 50px !important;
    }

    /* Stack table cells on very small screens */
    @media (max-width: 480px) {
        .system-size-table td {
            display: block;
            width: 100%;
            padding: 5px 0;
            background-color: white; /* Replaced rgba(255, 255, 0, 0.1) - Yellow background for padding */
        }

        .system-size-table tr {
            display: block;
            margin-bottom: 15px;
            border-bottom: 1px solid #eee;
            background-color: white; /* Replaced rgba(0, 255, 0, 0.1) - Green background for margins */
        }
    }
}

/* Ensure form elements are properly styled */
input[type="number"], select {
    padding: 4px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    box-shadow: inset 0 0 3px white; /* Replaced rgba(255, 255, 0, 0.3) - Yellow shadow to show padding */
}

select {
    background-color: white;
}

label {
    display: inline-block;
    margin-right: 10px;
    min-width: 150px;
    background-color: white; /* Replaced rgba(0, 255, 0, 0.05) - Very light green for margin */
}

/* Make tables in columns responsive */
.column table {
    width: 100%;
}

.column td {
    padding: 5px;
    background-color: white; /* Replaced rgba(255, 255, 0, 0.05) - Very light yellow for padding */
}

/* Add a toggle button to show/hide the visual indicators */
.visual-toggle {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 1000;
    background-color: #333;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
}

.visual-toggle:hover {
    background-color: #555;
}
