/* Styles for Detailed Net Worth Calculator */
.calcufacil-net_worth_calculator.calcufacil-container.enhanced-networth-calc {
    max-width: 1100px; /* Wider for two columns of inputs + results */
    margin: 25px auto;
    background: #f4f6f8; /* Light neutral background */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-wrap: wrap; /* Stack on smaller screens */
    gap: 25px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Left Column: Form */
.calcufacil-net_worth_calculator .calcufacil-left.calculator-form {
    flex: 1 1 500px; /* Form can take more space due to many inputs */
    min-width: 320px;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    box-sizing: border-box;
}

/* Right Column: Results */
.calcufacil-net_worth_calculator .calcufacil-right.results.enhanced-networth-results {
    flex: 1 1 420px;
    min-width: 340px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.calcufacil-net_worth_calculator .calculator-form h2 {
    font-size: 22px; color: #1a5276; margin-bottom: 10px; font-weight: 600;
}
.calcufacil-net_worth_calculator .calculator-form .description {
    font-size: 14px; color: #566573; margin-bottom: 20px; line-height: 1.6;
}
.calcufacil-net_worth_calculator .calculator-form h3 {
    font-size: 17px; color: #1f618d; margin-top: 20px; margin-bottom: 15px;
    padding-bottom: 8px; border-bottom: 1px solid #d6eaf8; display: flex; align-items: center; gap: 8px;
}
.calcufacil-net_worth_calculator .calculator-form h3:first-of-type { margin-top: 0; }
.calcufacil-net_worth_calculator .calculator-form h3 i { color: #5dade2; font-size: 1.1em; }

.calcufacil-net_worth_calculator .form-section-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* Gap between asset and liability columns */
    margin-bottom: 15px;
}
.calcufacil-net_worth_calculator .form-section-column {
    flex: 1;
    min-width: 220px; /* Ensure columns don't get too narrow before stacking */
}


.calcufacil-net_worth_calculator .input-group { margin-bottom: 15px; display: flex; flex-direction: column; }
.calcufacil-net_worth_calculator .input-group label {
    font-weight: 600; color: #2c3e50; margin-bottom: 5px; font-size: 13px;
}
.calcufacil-net_worth_calculator .input-group input[type="text"] {
    width: 100%; padding: 9px; border: 1px solid #aab7c4; border-radius: 4px;
    font-size: 14px; background: #fdfdfd; box-sizing: border-box;
}
.calcufacil-net_worth_calculator .input-group small {
    font-size: 11px; color: #7f8c8d; margin-top: 3px; display: block;
}

.calcufacil-net_worth_calculator button[type="submit"] {
    background: #2980b9; /* Blue */
    color: #fff; padding: 12px 25px; border: none; border-radius: 5px; cursor: pointer;
    font-size: 16px; width: 100%; margin-top: 20px; font-weight: bold;
    transition: background 0.2s ease-in-out;
}
.calcufacil-net_worth_calculator button[type="submit"]:hover { background: #1f618d; } /* Darker Blue */

/* Results Area Styling */
.calcufacil-net_worth_calculator .results.enhanced-networth-results h2 {
    font-size: 20px; color: #1f618d; text-align: center; margin-top:0; margin-bottom: 15px; font-weight: 600;
}
.calcufacil-net_worth_calculator .main-net-worth-display {
    background-color: #eaf2f8; color: #1a5276; padding: 18px 20px; border-radius: 6px;
    text-align: center; margin-bottom: 20px; font-size: 17px; border: 1px solid #d6eaf8;
}
.calcufacil-net_worth_calculator .main-net-worth-display .value {
    display: block; font-size: 2.2em; font-weight: bold; margin-top: 4px;
}
.calcufacil-net_worth_calculator .main-net-worth-display .value.positive { color: #27ae60; } /* Green */
.calcufacil-net_worth_calculator .main-net-worth-display .value.negative { color: #c0392b; } /* Red */

.calcufacil-net_worth_calculator .asset-liability-summary {
    display: flex;
    justify-content: space-around;
    margin-bottom: 20px;
    padding: 10px 0;
    border-top: 1px dashed #d6eaf8;
    border-bottom: 1px dashed #d6eaf8;
    font-size: 15px;
}
.calcufacil-net_worth_calculator .asset-liability-summary div { text-align: center; }
.calcufacil-net_worth_calculator .asset-liability-summary .value { font-weight: bold; display: block; margin-top: 3px; }
.calcufacil-net_worth_calculator .asset-liability-summary .value.positive { color: #27ae60; }
.calcufacil-net_worth_calculator .asset-liability-summary .value.negative { color: #c0392b; }

.calcufacil-net_worth_calculator .evolution-box,
.calcufacil-net_worth_calculator .goal-box {
    background-color: #f8f9f9;
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 15px;
    border: 1px solid #e9ecef;
}
.calcufacil-net_worth_calculator .evolution-box h4,
.calcufacil-net_worth_calculator .goal-box h4 {
    margin-top: 0; margin-bottom: 10px; color: #2980b9; font-size: 16px; display: flex; align-items: center; gap: 6px;
}
.calcufacil-net_worth_calculator .evolution-box p,
.calcufacil-net_worth_calculator .goal-box p {
    margin-bottom: 5px; font-size: 14px; color: #34495e;
}
.calcufacil-net_worth_calculator .evolution-box .value,
.calcufacil-net_worth_calculator .goal-box .value { font-weight: bold; }
.calcufacil-net_worth_calculator .evolution-box .positive,
.calcufacil-net_worth_calculator .goal-box .positive { color: #27ae60; }
.calcufacil-net_worth_calculator .evolution-box .negative,
.calcufacil-net_worth_calculator .goal-box .negative { color: #c0392b; }
.calcufacil-net_worth_calculator .goal-box small { font-size: 12px; color: #7f8c8d; display: block; }


.calcufacil-net_worth_calculator .charts-section-nw {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.calcufacil-net_worth_calculator .chart-container-nw {
    flex: 1;
    min-width: 280px; /* Ensure chart has enough space */
    height: 300px; /* Fixed height for charts */
    position: relative;
    background-color: #fdfdfd;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #e9ecef;
    box-sizing: border-box;
}
.calcufacil-net_worth_calculator .chart-container-nw h4 {
    text-align: center; margin-bottom: 10px; color: #34495e; font-size: 15px;
}
.calcufacil-net_worth_calculator .chart-container-nw canvas {
    max-width: 100%; max-height: 100%; display: block;
}


.calcufacil-net_worth_calculator .disclaimer-box.networth-disclaimer {
    margin-top: 25px; padding: 15px; background-color: #e6f7ff; /* Light Blue */
    border: 1px solid #b3d9ff; border-left: 4px solid #007bff; /* Blue */
    border-radius: 4px;
}
.calcufacil-net_worth_calculator .disclaimer-box.networth-disclaimer h4 {
    margin-top: 0; margin-bottom: 8px; color: #0056b3; font-size: 15px;
}
.calcufacil-net_worth_calculator .disclaimer-box.networth-disclaimer ul {
    list-style: disc; margin-left: 18px; padding-left: 0; font-size: 13px; color: #333; line-height: 1.5;
}
.calcufacil-net_worth_calculator .disclaimer-box.networth-disclaimer li { margin-bottom: 6px; }

.calcufacil-net_worth_calculator .errors.main-error {
    color: #c0392b; font-size: 13px; background: #f9eaea; padding: 8px 12px;
    border-radius: 4px; border-left: 3px solid #c0392b; margin-bottom: 15px;
}
.calcufacil-net_worth_calculator .initial-message {
    color: #1f618d; text-align: center; padding: 20px; background-color: #eaf2f8;
    border: 1px dashed #d6eaf8; border-radius: 5px; margin-top: 15px; line-height: 1.5; font-size: 14px;
}

@media (max-width: 920px) { /* Adjust breakpoint for main L/R stacking */
    .calcufacil-net_worth_calculator.calcufacil-container.enhanced-networth-calc {
        flex-direction: column;
    }
    .calcufacil-net_worth_calculator .calcufacil-left.calculator-form,
    .calcufacil-net_worth_calculator .calcufacil-right.results.enhanced-networth-results {
        flex-basis: 100%; min-width: 100%; margin-bottom: 20px;
    }
    .calcufacil-net_worth_calculator .calcufacil-right.results.enhanced-networth-results { margin-bottom: 0; }
}
@media (max-width: 600px) { /* Adjust breakpoint for internal form columns stacking */
    .calcufacil-net_worth_calculator .form-section-columns {
        flex-direction: column;
    }
    .calcufacil-net_worth_calculator .form-section-column {
        min-width: 100%;
    }
    .calcufacil-net_worth_calculator .charts-section-nw {
        flex-direction: column; /* Stack charts on small screens */
    }
    .calcufacil-net_worth_calculator .chart-container-nw {
        height: 280px; /* Adjust chart height for mobile */
    }
}