/* Phase 40.1 — Executive Morning Brief */

.fo-exec-mb {
    animation: fo-exec-mb-fade-in 0.45s ease-out;
}

@keyframes fo-exec-mb-fade-in {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fo-exec-mb-card {
    background: var(--fo-card);
    border: 1px solid var(--fo-border);
    border-radius: 0.75rem;
    padding: 1.25rem 1.35rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
}

.fo-exec-mb-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.fo-exec-mb-greeting {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
}

.fo-exec-mb-meta {
    font-size: 0.875rem;
    color: var(--fo-muted, rgba(255, 255, 255, 0.65));
}

.fo-exec-mb-health {
    text-align: right;
}

.fo-exec-mb-health-score {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
}

.fo-exec-mb-health-label {
    font-size: 0.8rem;
    color: var(--fo-muted, rgba(255, 255, 255, 0.65));
}

.fo-exec-mb-toolbar {
    display: flex;
    gap: 0.35rem;
}

.fo-exec-mb-summary {
    font-size: 0.95rem;
    line-height: 1.55;
    padding: 0.85rem 1rem;
    border-radius: 0.5rem;
    background: rgba(var(--fo-accent-rgb, 59, 130, 246), 0.08);
    border: 1px solid rgba(var(--fo-accent-rgb, 59, 130, 246), 0.18);
    margin-bottom: 1rem;
}

.fo-exec-mb-section-title {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--fo-muted, rgba(255, 255, 255, 0.55));
    margin-bottom: 0.5rem;
}

.fo-exec-mb-prediction {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
}

.fo-exec-mb-prediction--excellent {
    background: rgba(var(--fo-green-rgb), 0.15);
    color: rgb(var(--fo-green-rgb));
}

.fo-exec-mb-prediction--strong {
    background: rgba(var(--fo-accent-rgb, 59, 130, 246), 0.15);
    color: rgb(var(--fo-accent-rgb, 59, 130, 246));
}

.fo-exec-mb-prediction--average {
    background: rgba(var(--fo-yellow-rgb), 0.15);
    color: rgb(var(--fo-yellow-rgb));
}

.fo-exec-mb-prediction--risk {
    background: rgba(var(--fo-red-rgb), 0.15);
    color: rgb(var(--fo-red-rgb));
}

.fo-exec-mb-critical-list,
.fo-exec-mb-action-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fo-exec-mb-critical-list li,
.fo-exec-mb-action-list li {
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--fo-border);
}

.fo-exec-mb-critical-list li:last-child,
.fo-exec-mb-action-list li:last-child {
    border-bottom: none;
}

.fo-exec-mb-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
    gap: 0.5rem;
}

.fo-exec-mb-stat {
    padding: 0.55rem 0.65rem;
}

.fo-exec-mb-stat-label {
    font-size: 0.7rem;
    color: var(--fo-muted, rgba(255, 255, 255, 0.55));
}

.fo-exec-mb-stat-value {
    font-size: 0.875rem;
    font-weight: 600;
}

.fo-exec-mb-collapsed .fo-exec-mb-body {
    display: none;
}

@media print {
    .fo-exec-mb-toolbar {
        display: none !important;
    }

    .fo-exec-mb-card {
        box-shadow: none;
        border: 1px solid #ccc;
        color: #111;
        background: #fff;
    }

    .fo-exec-mb-summary {
        background: #f5f5f5;
        border-color: #ddd;
    }
}
