/* App-specific styles will go here. Cleared as per Prompt 1.6. */

/* General page styling (can be expanded) */
body {
    font-family: sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    color: #333;
    line-height: 1.6;
}

.page-container {
    max-width: 960px; /* Or your preferred max-width */
    margin: 0 auto;
    padding: 1em;
}

header {
    background-color: #333;
    color: #fff;
    padding: 1em 0;
    text-align: center;
    margin-bottom: 1.5em;
}

header h1 {
    margin: 0;
    color: #fff; /* Ensure header text is white */
}

main {
    background-color: #fff;
    padding: 1.5em;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

footer {
    text-align: center;
    padding: 1.5em 0;
    margin-top: 2em;
    font-size: 0.9em;
    color: #666;
    border-top: 1px solid #eee;
}

/* Form styling */
.form-group {
    margin-bottom: 1em;
}

.form-group label {
    display: block;
    margin-bottom: 0.5em;
    font-weight: bold;
}

.form-group input[type="text"],
.form-group input[type="number"],
.form-group select {
    width: 100%;
    padding: 0.75em;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* Important for width 100% */
}

.form-group small {
    display: block;
    margin-top: 0.3em;
    font-size: 0.85em;
    color: #666;
}

.submit-button {
    display: inline-block;
    background-color: #007bff;
    color: white;
    padding: 0.75em 1.5em;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.2s ease-in-out;
}

.submit-button:hover {
    background-color: #0056b3;
}


/* Flash Message Styling */
.flash-messages-container {
    margin: 1em 0; /* Adjusted from base.html for consistency */
    padding: 0;
}

.flash-message {
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 4px;
    list-style: none;
    border: 1px solid transparent;
}

.flash-error { /* Corresponds to flash('message', 'error') */
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}

.flash-warning { /* Corresponds to flash('message', 'warning') */
    background-color: #fff3cd;
    color: #856404;
    border-color: #ffeeba;
}

.flash-success { /* Corresponds to flash('message', 'success') */
    background-color: #d4edda;
    color: #155724;
    border-color: #c3e6cb;
}

.flash-info, .flash-message:not(.flash-error):not(.flash-warning):not(.flash-success) { /* Default/info */
    background-color: #e9ecef;
    color: #495057;
    border-color: #ced4da;
}

/* Styles from results.html (moved here for centralization) */
.results-container {
    max-width: 800px; /* Already in page-container, but can be specific */
    margin: 20px auto;
    padding: 15px;
    /* background-color: #fff; */ /* Handled by main */
    /* border: 1px solid #ddd; */ /* Handled by main */
    /* border-radius: 8px; */ /* Handled by main */
    /* box-shadow: 0 2px 4px rgba(0,0,0,0.1); */ /* Handled by main */
}
.results-summary, .pull-rates-summary, .top-cards-summary, .data-source-notes, .actions-container {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
}
.section-container h4 { /* This class was in results.html, ensure it's used or adapt */
    margin-top: 0;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 10px;
    color: #333;
}
.ev-details dt {
    font-weight: bold;
    color: #333;
    margin-top: 10px;
}
.ev-details dd {
    margin-left: 0;
    margin-bottom: 10px;
    color: #555;
}
.ev-details dd small {
    font-style: italic;
    color: #777;
    display: block; 
}
.positive-ev { color: #28a745; font-weight: bold; }
.negative-ev { color: #dc3545; font-weight: bold; }
.neutral-ev { color: #555; font-weight: bold; }

.cards-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}
.cards-table th, .cards-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}
.cards-table th {
    background-color: #e9ecef; 
    color: #495057;
}
.cards-table tr:nth-child(even) {
    background-color: #f8f9fa;
}
.button-link {
    display: inline-block;
    padding: 10px 15px;
    background-color: #007bff; 
    color: white !important; 
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease-in-out;
    text-align: center;
}
.button-link:hover {
    background-color: #0056b3;
    text-decoration: none;
}
.error-message-specific { /* For error_message passed directly to results.html */
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    padding: 10px 15px;
    margin-bottom: 20px;
    border-radius: 5px;
}
