/* Header Styles */
h2 {
    color: #000000;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.5px;
}

h4 {
    color: #000000;
    font-weight: 300;
    margin-top: 20px;
    font-family: 'Montserrat', sans-serif;
}

/* Card & Container */
.card {
    border: 1px solid #ccc;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    border-radius: 12px;
    background-color: #f9f9f9;
}

/* Labels */
label {
    font-weight: 300;
    color: #104735;
    margin-bottom: 5px;
    font-size: 0.95rem;
}

/* Dropdown & Datepickers */
.Select-control, .DateInput_input {
    font-size: 0.95rem;
    border-radius: 6px;
}

input, .form-control {
    border-radius: 6px !important;
}

/* Buttons */
.btn-primary {
    background-color: #104735;
    border-color: #104735;
}
.btn-primary:hover {
    background-color: #007030;
    border-color: #007030;
}

.btn-secondary {
    background-color: #004F6E;
    border-color: #004F6E;
}
.btn-secondary:hover {
    background-color: #00A5B5;
    border-color: #00A5B5;
}

/* Download warning */
#blast-download-warning {
    font-weight: 300;
    font-size: 0.9rem;
}

/* Report preview spacing */
#blast-report-preview {
    padding: 12px;
    background-color: #f1f1f1;
    border-radius: 12px;
    border: 1px solid #ddd;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* Loading Spinner */
.dash-spinner {
    color: #104735 !important;
}

/* Improve padding between components */
.mb-3, .mb-4 {
    margin-bottom: .75rem !important;
}
