/* ==========================================================================
   Roth Conversion Optimizer - Indigo/Purple Theme
   A sophisticated color scheme for optimization calculations
   ========================================================================== */

.tool-roth-optimizer {
    --tool-primary: #6366F1;
    --tool-primary-light: #818CF8;
    --tool-primary-dark: #4F46E5;
    --tool-primary-rgb: 99, 102, 241;
    --tool-secondary: #C7D2FE;
    --tool-accent: #A5B4FC;
    --tool-surface: #EEF2FF;
    --tool-text-on-primary: #ffffff;
}

/* Card Headers */
.tool-roth-optimizer .card-header.tool-header {
    background-color: var(--tool-primary) !important;
    color: var(--tool-text-on-primary) !important;
    border-bottom: none;
}

.tool-roth-optimizer .card-header.tool-header h5,
.tool-roth-optimizer .card-header.tool-header .h5,
.tool-roth-optimizer .card-header.tool-header i {
    color: var(--tool-text-on-primary) !important;
}

/* Primary Buttons */
.tool-roth-optimizer .btn-tool-primary {
    background-color: var(--tool-primary);
    border-color: var(--tool-primary);
    color: var(--tool-text-on-primary);
}

.tool-roth-optimizer .btn-tool-primary:hover,
.tool-roth-optimizer .btn-tool-primary:focus {
    background-color: var(--tool-primary-dark);
    border-color: var(--tool-primary-dark);
    color: var(--tool-text-on-primary);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(var(--tool-primary-rgb), 0.3);
}

.tool-roth-optimizer .btn-tool-primary:disabled {
    background-color: var(--tool-primary);
    border-color: var(--tool-primary);
    opacity: 0.65;
}

/* Outline Buttons */
.tool-roth-optimizer .btn-outline-tool {
    color: var(--tool-primary);
    border-color: var(--tool-primary);
    background: transparent;
}

.tool-roth-optimizer .btn-outline-tool:hover {
    background-color: var(--tool-primary);
    border-color: var(--tool-primary);
    color: var(--tool-text-on-primary);
}

/* Text Colors */
.tool-roth-optimizer .text-tool-primary {
    color: var(--tool-primary) !important;
}

/* Badges */
.tool-roth-optimizer .badge-tool {
    background-color: var(--tool-primary);
    color: var(--tool-text-on-primary);
}

/* Alerts/Info boxes */
.tool-roth-optimizer .alert-tool {
    background-color: var(--tool-surface);
    border-left: 4px solid var(--tool-primary);
    color: var(--tool-primary-dark);
}

/* Form focus states */
.tool-roth-optimizer .form-control:focus,
.tool-roth-optimizer .form-select:focus {
    border-color: var(--tool-primary);
    box-shadow: 0 0 0 3px rgba(var(--tool-primary-rgb), 0.15);
}

/* Checkboxes */
.tool-roth-optimizer .form-check-input:checked {
    background-color: var(--tool-primary);
    border-color: var(--tool-primary);
}

/* Accordion styling */
.tool-roth-optimizer .accordion-button:not(.collapsed) {
    background-color: var(--tool-surface);
    color: var(--tool-primary-dark);
}

.tool-roth-optimizer .accordion-button:focus {
    border-color: var(--tool-primary);
    box-shadow: 0 0 0 3px rgba(var(--tool-primary-rgb), 0.15);
}