/* Shared daily results report card — public /results + dashboard */\n.results-report-card {
    overflow: hidden;
    border-radius: 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.08),
        0 2px 8px rgba(15, 23, 42, 0.04);
}

.results-report-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 1.5rem 1.15rem;
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.18), transparent 42%),
        linear-gradient(135deg, #0f172a 0%, #1e3a5f 52%, #0b1f3a 100%);
    color: #fff;
}

.results-report-card--good .results-report-hero {
    background:
        radial-gradient(circle at top right, rgba(74, 222, 128, 0.22), transparent 42%),
        linear-gradient(135deg, #052e16 0%, #14532d 55%, #0f172a 100%);
}

.results-report-card--tough .results-report-hero {
    background:
        radial-gradient(circle at top right, rgba(248, 113, 113, 0.18), transparent 42%),
        linear-gradient(135deg, #450a0a 0%, #7f1d1d 48%, #0f172a 100%);
}

.results-report-kicker {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
}

.results-report-hero h3 {
    margin: 0.2rem 0 0;
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.results-report-date {
    margin: 0.35rem 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.92rem;
}

.results-report-hero-badges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    text-align: right;
    flex-shrink: 0;
}

.results-report-mood {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.results-report-pl {
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.results-report-pl--up { color: #86efac; }
.results-report-pl--down { color: #fca5a5; }
.results-report-pl--flat { color: #fde68a; }

.results-report-hero-badges small {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.74rem;
}

.results-report-lead {
    margin: 0;
    padding: 1rem 1.5rem 0.25rem;
    font-size: 1rem;
    line-height: 1.55;
    color: #334155;
}

.results-report-lead strong {
    color: #0f172a;
    font-size: 1.08em;
}

.results-report-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 0.85rem 1.5rem 0.5rem;
}

.results-report-stat {
    padding: 0.95rem 1rem;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
}

.results-report-stat span {
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.results-report-stat strong {
    display: block;
    margin-top: 0.35rem;
    font-size: 1.35rem;
    color: #0f172a;
    letter-spacing: -0.03em;
}

.results-report-stat em {
    display: block;
    margin-top: 0.15rem;
    font-style: normal;
    font-size: 0.82rem;
    color: #2563eb;
    font-weight: 700;
}

.results-report-stat-pl--up { color: #15803d; }
.results-report-stat-pl--down { color: #b91c1c; }
.results-report-stat-pl--flat { color: #a16207; }

.results-report-highlight {
    margin: 0.75rem 1.5rem 0;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fcd34d;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.results-report-highlight-label {
    display: inline-block;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #92400e;
}

.results-report-highlight strong {
    display: block;
    font-size: 1.15rem;
    color: #78350f;
    letter-spacing: -0.02em;
}

.results-report-highlight p {
    margin: 0.25rem 0 0;
    color: #92400e;
    font-size: 0.92rem;
}

.results-report-sports {
    padding: 1rem 1.5rem 0.25rem;
}

.results-report-sports h4,
.results-report-place-head h4 {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.results-report-sport-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.results-report-sport {
    padding: 0.9rem 1rem;
    border-radius: 0.95rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-left-width: 4px;
}

.results-report-sport--up { border-left-color: #22c55e; }
.results-report-sport--down { border-left-color: #ef4444; }
.results-report-sport--flat { border-left-color: #eab308; }

.results-report-sport-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.results-report-sport-head strong {
    font-size: 0.98rem;
    color: #0f172a;
}

.results-report-sport-pl {
    font-size: 0.82rem;
    font-weight: 800;
    color: #64748b;
}

.results-report-sport--up .results-report-sport-pl { color: #15803d; }
.results-report-sport--down .results-report-sport-pl { color: #b91c1c; }

.results-report-sport p {
    margin: 0.35rem 0 0;
    font-size: 0.86rem;
    color: #64748b;
    line-height: 1.45;
}

.results-report-place {
    margin: 0.85rem 1.5rem 0;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, #eef2ff 0%, #f5f3ff 100%);
    border: 1px solid #c7d2fe;
}

.results-report-place-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.results-report-place-head h4 {
    margin: 0;
}

.results-report-place-pl {
    font-size: 1rem;
    font-weight: 800;
}

.results-report-place-pl--up { color: #15803d; }
.results-report-place-pl--down { color: #b91c1c; }
.results-report-place-pl--flat { color: #a16207; }

.results-report-place p {
    margin: 0.45rem 0 0;
    color: #4338ca;
    font-size: 0.92rem;
    line-height: 1.5;
}

.results-report-place-meta {
    opacity: 0.82;
    font-size: 0.82rem !important;
}

.results-report-footnote {
    margin: 0;
    padding: 1rem 1.5rem 1.25rem;
    color: #94a3b8;
    font-size: 0.78rem;
}

/* Executive summary body */
.results-report-executive {
    padding: 0.25rem 0 0;
}

.results-report-intro {
    margin: 0;
    padding: 1.15rem 1.5rem 0.35rem;
    font-size: 1.05rem;
    line-height: 1.65;
    color: #1e293b;
    font-weight: 500;
}

.results-report-performance {
    padding: 0.35rem 1.5rem 0.25rem;
}

.results-report-performance p {
    margin: 0 0 0.65rem;
    font-size: 0.98rem;
    line-height: 1.65;
    color: #475569;
}

.results-report-performance p:last-child {
    margin-bottom: 0;
}

.results-report-executive .results-report-highlight {
    margin-top: 0.85rem;
}

.results-report-sport-summary {
    padding: 1.1rem 1.5rem 0.35rem;
}

.results-report-sport-summary h4,
.results-report-place-narrative-head h4 {
    margin: 0 0 0.75rem;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.results-report-bullet-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.results-report-bullet {
    position: relative;
    padding: 0.75rem 1rem 0.75rem 1.15rem;
    border-radius: 0.85rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.94rem;
    line-height: 1.5;
    color: #334155;
}

.results-report-bullet::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65rem;
    bottom: 0.65rem;
    width: 3px;
    border-radius: 999px;
    background: #cbd5e1;
}

.results-report-bullet--up::before { background: #22c55e; }
.results-report-bullet--down::before { background: #ef4444; }
.results-report-bullet--flat::before { background: #eab308; }

.results-report-place-narrative {
    margin: 0.85rem 1.5rem 0;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, #eef2ff 0%, #f5f3ff 100%);
    border: 1px solid #c7d2fe;
}

.results-report-place-narrative-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}

.results-report-place-narrative-head h4 {
    margin: 0;
}

.results-report-place-narrative p {
    margin: 0.35rem 0 0;
    color: #4338ca;
    font-size: 0.92rem;
    line-height: 1.55;
}

.results-report-executive .results-report-footnote {
    padding-top: 1.15rem;
}



@media (max-width: 900px) {
    .results-report-stats,
    .results-report-sport-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .results-report-hero {
        flex-direction: column;
    }

    .results-report-hero-badges {
        align-items: flex-start;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .results-report-stats,
    .results-report-sport-grid {
        grid-template-columns: 1fr;
    }
}
