/* Enhanced Calculator Styles - Force Override */

.calculator-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    align-items: start !important;
}

.calculator-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
}

.amortization-section {
    grid-column: 1 / -1 !important;
    margin-top: 20px !important;
}

@media (max-width: 968px) {
    .calculator-wrapper {
        grid-template-columns: 1fr !important;
    }
    
    .amortization-section {
        grid-column: 1 !important;
    }
}

.calculator-form .form-group {
    background: #ffffff !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.calculator-form .form-group:hover {
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.calculator-form .form-group:focus-within {
    border-color: transparent !important;
    box-shadow: none !important;
}

.form-group label {
    display: block !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    font-size: 0.95rem !important;
    margin-bottom: 10px !important;
    letter-spacing: 0.2px !important;
}

.input-hint {
    margin-top: 8px !important;
    font-size: 0.8rem !important;
    color: #94a3b8 !important;
    font-style: normal !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.input-hint::before {
    content: 'ℹ️' !important;
    font-size: 0.85rem !important;
}

.input-with-label {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    background: #ffffff !important;
    padding: 0 !important;
    border-radius: 12px !important;
    border: 2px solid #e2e8f0 !important;
    transition: all 0.3s !important;
    overflow: hidden !important;
}

.input-with-label:focus-within {
    border-color: #0284c7 !important;
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.08) !important;
}

.input-with-label:hover {
    border-color: #cbd5e1 !important;
}

.number-input {
    border: none !important;
    outline: none !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    flex: 1 !important;
    text-align: left !important;
    background: transparent !important;
    padding: 16px 18px !important;
    min-width: 0 !important;
}

.number-input::placeholder {
    color: #cbd5e1 !important;
    font-weight: 500 !important;
}

.number-input::-webkit-inner-spin-button,
.number-input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.number-input {
    -moz-appearance: textfield !important;
}

.currency-symbol,
.percent-symbol,
.months-label {
    font-weight: 700 !important;
    color: #64748b !important;
    font-size: 1rem !important;
    padding: 16px 18px !important;
    background: #f8fafc !important;
    border-left: 1px solid #e2e8f0 !important;
    white-space: nowrap !important;
}

.currency-symbol {
    padding: 16px 18px !important;
    background: #f8fafc !important;
    border-right: 1px solid #e2e8f0 !important;
    border-left: none !important;
}

.months-label {
    font-size: 0.95rem !important;
    color: #64748b !important;
}

/* Select dropdown styling for calculator */
#interestMethod {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important;
    padding-right: 45px !important;
}

/* Amortization Schedule Styling */
.amortization-section {
    grid-column: 1 / -1 !important;
    margin-top: 20px !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 35px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #e2e8f0 !important;
}

.amortization-section h3 {
    font-size: 1.5rem !important;
    color: #0f172a !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.amortization-section h3 i {
    color: #0284c7 !important;
    font-size: 1.3rem !important;
}

.schedule-subtitle {
    color: #64748b !important;
    font-size: 0.95rem !important;
    margin-bottom: 25px !important;
}

.schedule-controls {
    margin-bottom: 25px !important;
}

#toggleSchedule {
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
    color: white !important;
    border: none !important;
    padding: 14px 28px !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25) !important;
}

#toggleSchedule:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(2, 132, 199, 0.35) !important;
}

#toggleIcon {
    transition: transform 0.3s ease !important;
}

#toggleSchedule.active #toggleIcon {
    transform: rotate(180deg) !important;
}

.schedule-table-wrapper {
    overflow-x: auto !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
}

.amortization-table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: white !important;
}

.amortization-table thead {
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
}

.amortization-table thead th {
    color: white !important;
    font-weight: 600 !important;
    padding: 16px 20px !important;
    text-align: left !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.amortization-table tbody tr {
    border-bottom: 1px solid #e2e8f0 !important;
    transition: background-color 0.2s ease !important;
}

.amortization-table tbody tr:hover {
    background: #f8fafc !important;
}

.amortization-table tbody tr:last-child {
    border-bottom: none !important;
}

.amortization-table tbody td {
    padding: 14px 20px !important;
    color: #334155 !important;
    font-size: 0.9rem !important;
}

.amortization-table tbody td:first-child {
    font-weight: 600 !important;
    color: #0284c7 !important;
}

.amortization-table tbody td:nth-child(2),
.amortization-table tbody td:nth-child(3),
.amortization-table tbody td:nth-child(4),
.amortization-table tbody td:nth-child(5) {
    font-weight: 500 !important;
}

.amortization-table tbody td:last-child {
    font-weight: 600 !important;
    color: #f97316 !important;
}
