/**
 * Advanced Fitness Planner - v3.0.0
 * Dark Mode Theme Stylesheet for HealthyIdeas
 */

/* --- Main Color Palette --- */
:root {
    --afp-bg-primary: #1e2025;      /* Darkest background */
    --afp-bg-secondary: #2c2f36;   /* Lighter background for elements */
    --afp-border-color: #4a4f58;   /* Borders and dividers */
    --afp-text-primary: #f0f0f0;     /* Main text color, very light gray */
    --afp-text-secondary: #a9b3c1;  /* Subtler text (like ingredients) */
    --afp-accent-primary: #0095ff;  /* Primary buttons and highlights */
    --afp-accent-hover: #0078d1;     /* Hover for primary buttons */
    --afp-success: #2ea44f;         /* Success actions */
    --afp-danger: #d73a49;          /* Error and reset buttons */
}

/* --- General Typography & Layout --- */
.afp-container {
    max-width: 800px;
    margin: 2rem auto;
    padding: 2rem;
    background-color: var(--afp-bg-primary);
    border: 1px solid var(--afp-border-color);
    border-radius: 8px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
    color: var(--afp-text-primary);
}

.afp-container h2, .afp-container h3, .afp-container h4 {
    color: #ffffff; /* Pure white for main headings for max contrast */
    border-bottom: 1px solid var(--afp-border-color);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

/* --- Forms --- */
.afp-form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--afp-text-secondary);
}

.afp-form-group input, .afp-form-group textarea, .afp-form-group select {
    width: 100%;
    padding: 0.8rem;
    border: 1px solid var(--afp-border-color);
    background-color: var(--afp-bg-secondary);
    color: var(--afp-text-primary);
    border-radius: 4px;
    font-size: 1rem;
    transition: all 0.3s;
}

.afp-form-group input:focus, .afp-form-group textarea:focus, .afp-form-group select:focus {
    outline: none;
    border-color: var(--afp-accent-primary);
    box-shadow: 0 0 0 3px rgba(0, 149, 255, 0.2);
}

/* --- Buttons --- */
.afp-button {
    display: inline-block;
    padding: 0.8rem 1.5rem;
    border: none;
    border-radius: 4px;
    background-color: var(--afp-accent-primary);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.3s;
    margin-right: 0.5rem;
}
.afp-button:hover { background-color: var(--afp-accent-hover); color: #ffffff; }
.afp-button:disabled { background-color: var(--afp-border-color); opacity: 0.7; cursor: not-allowed; }

/* --- Plan Display --- */
.afp-summary { text-align: center; padding: 1.5rem; background-color: var(--afp-bg-secondary); border-radius: 8px; margin-bottom: 2rem; border: 1px solid var(--afp-border-color); }
.afp-tabs { border: 1px solid var(--afp-border-color); border-radius: 6px; overflow: hidden; background-color: var(--afp-bg-primary); }
.afp-tab-links { display: flex; flex-wrap: wrap; background-color: var(--afp-bg-secondary); }
.afp-tab-link { padding: 0.8rem 1rem; cursor: pointer; border: none; background: none; font-size: 1rem; color: var(--afp-text-secondary); flex-grow: 1; text-align: center; border-bottom: 3px solid transparent; }
.afp-tab-link.active { color: #ffffff; border-bottom-color: var(--afp-accent-primary); background-color: var(--afp-bg-primary); font-weight: 600; }
.afp-tab-content { display: none; padding: 1.5rem; }
.afp-tab-content.active { display: block; }

/* --- Tables --- */
.afp-diet-table, .afp-workout-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.afp-diet-table th, .afp-diet-table td, .afp-workout-table th, .afp-workout-table td { padding: 0.9rem; text-align: left; border-bottom: 1px solid var(--afp-border-color); }
.afp-diet-table th, .afp-workout-table th { background-color: var(--afp-bg-secondary); font-weight: 600; color: #ffffff; }
.afp-diet-table td p { margin: 0.3rem 0 0; color: var(--afp-text-secondary); } /* Ingredient text color */
td[data-label] strong { color: #ffffff; } /* Recipe/Exercise name color */

/* --- Mobile Responsive --- */
@media (max-width: 768px) {
    .afp-container { padding: 1rem; border: none; box-shadow: none; background: none; }
    .afp-diet-table thead, .afp-workout-table thead { display: none; }
    .afp-diet-table tr, .afp-workout-table tr { display: block; margin-bottom: 1rem; border: 1px solid var(--afp-border-color); border-radius: 4px; overflow: hidden; background-color: var(--afp-bg-secondary); }
    .afp-diet-table td, .afp-workout-table td { display: block; text-align: right; padding-left: 50%; position: relative; border-bottom: 1px solid var(--afp-border-color); }
    .afp-diet-table tr td:last-child, .afp-workout-table tr td:last-child { border-bottom: none; }
    .afp-diet-table td:before, .afp-workout-table td:before { content: attr(data-label); position: absolute; left: 10px; width: 45%; padding-right: 10px; white-space: nowrap; text-align: left; font-weight: bold; color: var(--afp-text-secondary); }
}