@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.84wtju4z0n.bundle.scp.css';

/* /Components/AchievementToast.razor.rz.scp.css */
.achievement-toast[b-inipnqcis6] {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.25rem;
    background: #24292f;
    color: #ffffff;
    border-radius: 0.6rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    z-index: 9000;
    animation: toast-slide-in-b-inipnqcis6 0.35s ease-out;
    max-width: 400px;
}

.achievement-toast--fade-out[b-inipnqcis6] {
    animation: toast-fade-out-b-inipnqcis6 0.4s ease-in forwards;
}

.achievement-toast__icon[b-inipnqcis6] {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.achievement-toast__text[b-inipnqcis6] {
    font-size: 0.88rem;
    line-height: 1.3;
}

.achievement-toast__dismiss[b-inipnqcis6] {
    background: none;
    border: none;
    color: #8b949e;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0.2rem;
    flex-shrink: 0;
    line-height: 1;
}

.achievement-toast__dismiss:hover[b-inipnqcis6] {
    color: #ffffff;
}

@keyframes toast-slide-in-b-inipnqcis6 {
    from {
        transform: translateX(110%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes toast-fade-out-b-inipnqcis6 {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(40%);
        opacity: 0;
    }
}
/* /Components/ActivityHeatMap.razor.rz.scp.css */
.activity-heatmap[b-al48kzxg1z] {
    overflow-x: auto;
    padding: 0.25rem 0;
}

.heatmap-svg[b-al48kzxg1z] {
    width: 100%;
    height: auto;
    display: block;
    min-width: 700px;
}
/* /Components/IntervalTimer.razor.rz.scp.css */
.interval-timer[b-tzdfxdgg9f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    padding: 2rem 1.5rem;
    border-radius: 20px;
    background: var(--ha-panel);
    border: 2px solid var(--ha-border);
    transition: border-color 0.3s;
}

.interval-timer--work[b-tzdfxdgg9f] {
    border-color: var(--ha-accent);
}

.interval-timer--rest[b-tzdfxdgg9f] {
    border-color: var(--ha-success);
}

.interval-timer__header[b-tzdfxdgg9f] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.interval-timer__display[b-tzdfxdgg9f] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.interval-timer__time[b-tzdfxdgg9f] {
    font-size: 4rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
    line-height: 1;
    color: var(--ha-text);
}

.interval-timer__round[b-tzdfxdgg9f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.interval-timer__round-label[b-tzdfxdgg9f] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ha-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.interval-timer__round-value[b-tzdfxdgg9f] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ha-text);
}

.interval-timer__amrap-row[b-tzdfxdgg9f] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.interval-timer__amrap-btn[b-tzdfxdgg9f] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 2px solid var(--ha-accent);
    border-radius: 50%;
    background: transparent;
    color: var(--ha-accent);
    font-size: 1.5rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.interval-timer__amrap-btn:hover[b-tzdfxdgg9f] {
    background: var(--ha-accent);
    color: #ffffff;
}

.interval-timer__controls[b-tzdfxdgg9f] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
}

.interval-timer__btn[b-tzdfxdgg9f] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.65rem 1.25rem;
    border: 1px solid var(--ha-border);
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.interval-timer__btn--start[b-tzdfxdgg9f] {
    background: var(--ha-accent);
    color: #ffffff;
    border-color: var(--ha-accent);
}

.interval-timer__btn--start:hover[b-tzdfxdgg9f] {
    opacity: 0.9;
}

.interval-timer__btn--pause[b-tzdfxdgg9f] {
    background: var(--ha-warning);
    color: #ffffff;
    border-color: var(--ha-warning);
}

.interval-timer__btn--pause:hover[b-tzdfxdgg9f] {
    opacity: 0.9;
}

.interval-timer__btn--reset[b-tzdfxdgg9f] {
    background: var(--ha-panel);
    color: var(--ha-text);
}

.interval-timer__btn--reset:hover[b-tzdfxdgg9f] {
    background: var(--ha-panel-alt, #eef4fb);
}
/* /Components/OfflineIndicator.razor.rz.scp.css */
.offline-banner[b-zkwdq0t5iy] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    animation: offline-slide-down-b-zkwdq0t5iy 0.25s ease-out;
}

.offline-banner--offline[b-zkwdq0t5iy] {
    background: #fff4d6;
    color: #6b4f00;
    border-bottom: 1px solid #efd48b;
}

.offline-banner--online[b-zkwdq0t5iy] {
    background: #e6f4ea;
    color: #1e7e34;
    border-bottom: 1px solid #a8d5b5;
}

.offline-banner__icon[b-zkwdq0t5iy] {
    font-size: 1rem;
    line-height: 1;
}

@keyframes offline-slide-down-b-zkwdq0t5iy {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}
/* /Components/PrCelebration.razor.rz.scp.css */
/* ── Full-viewport overlay ────────────────────────────────────── */
.pr-celebration[b-26of1q47m7]
{
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.65);
    cursor: pointer;
    overflow: hidden;
}

/* ── Content card ────────────────────────────────────────────── */
.pr-celebration__content[b-26of1q47m7]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem 2.5rem;
    background: #1c1c1e;
    border: 2px solid #ffd700;
    border-radius: 1rem;
    text-align: center;
    z-index: 1;
    animation: pr-scale-in-b-26of1q47m7 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: default;
}

.pr-celebration__trophy[b-26of1q47m7]
{
    font-size: 3rem;
    animation: pr-bounce-b-26of1q47m7 0.8s ease infinite alternate;
}

.pr-celebration__heading[b-26of1q47m7]
{
    margin: 0;
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffd700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pr-celebration__exercise[b-26of1q47m7]
{
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #ffffff;
}

/* ── Old → New comparison ────────────────────────────────────── */
.pr-celebration__comparison[b-26of1q47m7]
{
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
    font-size: 1rem;
}

.pr-celebration__old[b-26of1q47m7]
{
    color: #999999;
    text-decoration: line-through;
}

.pr-celebration__arrow[b-26of1q47m7]
{
    color: #ffd700;
    font-size: 1.2rem;
}

.pr-celebration__new[b-26of1q47m7]
{
    color: #4caf50;
    font-weight: 700;
    font-size: 1.15rem;
}

/* ── Confetti particles ──────────────────────────────────────── */
.pr-celebration__confetti[b-26of1q47m7]
{
    position: absolute;
    top: -10px;
    width: 10px;
    height: 10px;
    opacity: 0.85;
    animation: pr-confetti-fall-b-26of1q47m7 2.5s ease-in forwards;
}

.pr-celebration__confetti--0[b-26of1q47m7] { background: #ff4d4d; border-radius: 50%; }
.pr-celebration__confetti--1[b-26of1q47m7] { background: #ffd700; border-radius: 2px; }
.pr-celebration__confetti--2[b-26of1q47m7] { background: #4caf50; border-radius: 50%; }
.pr-celebration__confetti--3[b-26of1q47m7] { background: #2196f3; border-radius: 2px; }
.pr-celebration__confetti--4[b-26of1q47m7] { background: #ff9800; border-radius: 50%; }
.pr-celebration__confetti--5[b-26of1q47m7] { background: #e040fb; border-radius: 2px; }

/* ── Keyframes ───────────────────────────────────────────────── */
@keyframes pr-confetti-fall-b-26of1q47m7
{
    0%
    {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
    100%
    {
        transform: translateY(100vh) rotate(720deg);
        opacity: 0;
    }
}

@keyframes pr-scale-in-b-26of1q47m7
{
    0%
    {
        transform: scale(0.3);
        opacity: 0;
    }
    100%
    {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes pr-bounce-b-26of1q47m7
{
    0%   { transform: translateY(0); }
    100% { transform: translateY(-8px); }
}
/* /Components/ProgressLineChart.razor.rz.scp.css */
.progress-line-chart[b-9obwbczk1e] {
    overflow-x: auto;
}

.line-chart-svg[b-9obwbczk1e] {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}
/* /Components/RestTimer.razor.rz.scp.css */
/* ── Rest timer container ────────────────────────────────────── */
.rest-timer[b-5pv5036n6g]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
}

/* ── SVG ring ────────────────────────────────────────────────── */
.rest-timer__ring[b-5pv5036n6g]
{
    position: relative;
    width: 140px;
    height: 140px;
}

.rest-timer__svg[b-5pv5036n6g]
{
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.rest-timer__track[b-5pv5036n6g]
{
    fill: none;
    stroke: #e1e8f0;
    stroke-width: 8;
}

.rest-timer__progress[b-5pv5036n6g]
{
    fill: none;
    stroke-width: 8;
    stroke-linecap: round;
    stroke-dasharray: 326.73; /* 2 * PI * 52 */
    transition: stroke-dashoffset 0.3s ease, stroke 0.5s ease;
}

.rest-timer__progress.rest-timer--green[b-5pv5036n6g]  { stroke: #2e7d32; }
.rest-timer__progress.rest-timer--yellow[b-5pv5036n6g] { stroke: #f9a825; }
.rest-timer__progress.rest-timer--red[b-5pv5036n6g]    { stroke: #d32f2f; }

/* ── Countdown text overlay ──────────────────────────────────── */
.rest-timer__display[b-5pv5036n6g]
{
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    transition: color 0.5s ease;
}

.rest-timer__display.rest-timer--green[b-5pv5036n6g]  { color: #2e7d32; }
.rest-timer__display.rest-timer--yellow[b-5pv5036n6g] { color: #9a7b00; }
.rest-timer__display.rest-timer--red[b-5pv5036n6g]    { color: #d32f2f; }

/* ── Quick-adjust buttons ────────────────────────────────────── */
.rest-timer__controls[b-5pv5036n6g]
{
    display: flex;
    gap: 0.5rem;
}

.rest-timer__adjust-btn[b-5pv5036n6g]
{
    padding: 0.35rem 0.75rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.rest-timer__adjust-btn:hover[b-5pv5036n6g]
{
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
}

.rest-timer__adjust-btn:disabled[b-5pv5036n6g]
{
    opacity: 0.4;
    cursor: not-allowed;
}

/* ── Skip button ─────────────────────────────────────────────── */
.rest-timer__skip[b-5pv5036n6g]
{
    margin-top: 0.25rem;
}
/* /Components/SessionFeedback.razor.rz.scp.css */
/* ── Session feedback container ───────────────────────────────── */
.session-feedback[b-oewb5k62by]
{
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem;
    background: #f6f8fa;
    border: 1px solid #d0d7de;
    border-radius: 0.85rem;
}

.session-feedback__heading[b-oewb5k62by]
{
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #24292f;
}

/* ── Section layout ──────────────────────────────────────────── */
.session-feedback__section[b-oewb5k62by]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.session-feedback__label[b-oewb5k62by]
{
    font-size: 0.85rem;
    font-weight: 600;
    color: #57606a;
}

/* ── Difficulty rating buttons ───────────────────────────────── */
.session-feedback__rating-row[b-oewb5k62by]
{
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.session-feedback__rating-btn[b-oewb5k62by]
{
    padding: 0.4rem 0.75rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    background: #ffffff;
    color: #57606a;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.session-feedback__rating-btn:hover[b-oewb5k62by]
{
    background: #e8f0fe;
    border-color: #539bf5;
    color: #0969da;
}

.session-feedback__rating-btn--active[b-oewb5k62by]
{
    background: #0969da;
    border-color: #0969da;
    color: #ffffff;
    font-weight: 600;
}

/* ── Mood emoji buttons ──────────────────────────────────────── */
.session-feedback__mood-btn[b-oewb5k62by]
{
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #d0d7de;
    border-radius: 50%;
    background: #ffffff;
    font-size: 1.2rem;
    cursor: pointer;
    transition: border-color 0.12s, transform 0.12s, background 0.12s;
}

.session-feedback__mood-btn:hover[b-oewb5k62by]
{
    border-color: #539bf5;
    transform: scale(1.1);
}

.session-feedback__mood-btn--active[b-oewb5k62by]
{
    border-color: #0969da;
    background: #dff0ff;
    transform: scale(1.15);
}

/* ── Notes textarea ──────────────────────────────────────────── */
.session-feedback__notes[b-oewb5k62by]
{
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    font-family: inherit;
    color: #24292f;
    background: #ffffff;
    resize: vertical;
    box-sizing: border-box;
    transition: border-color 0.15s;
}

.session-feedback__notes:focus[b-oewb5k62by]
{
    outline: none;
    border-color: #539bf5;
}

.session-feedback__notes[b-oewb5k62by]::placeholder
{
    color: #8b949e;
}

/* ── Action buttons ──────────────────────────────────────────── */
.session-feedback__actions[b-oewb5k62by]
{
    display: flex;
    gap: 0.75rem;
    margin-top: 0.25rem;
}
/* /Components/StreakCounter.razor.rz.scp.css */
.streak-counter[b-mjwquw62zt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 1.5rem 1rem;
}

.streak-counter__display[b-mjwquw62zt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.streak-counter__number[b-mjwquw62zt] {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    color: #24292f;
}

.streak-counter__flame[b-mjwquw62zt] {
    font-size: 2.5rem;
    line-height: 1;
}

.streak-counter__label[b-mjwquw62zt] {
    font-size: 1rem;
    font-weight: 500;
    color: #57606a;
    margin: 0;
}

.streak-counter__best[b-mjwquw62zt] {
    font-size: 0.82rem;
    color: #8b949e;
    margin: 0;
}
/* /Components/ThemeToggle.razor.rz.scp.css */
.theme-toggle[b-ocvqz222di] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--ha-border);
    border-radius: 999px;
    background: var(--ha-panel);
    color: var(--ha-text);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    line-height: 1;
}

.theme-toggle:hover[b-ocvqz222di] {
    background: var(--ha-panel-alt, #eef4fb);
    border-color: var(--ha-accent);
}

.theme-toggle__icon[b-ocvqz222di] {
    font-size: 1rem;
    line-height: 1;
}

.theme-toggle__label[b-ocvqz222di] {
    user-select: none;
}
/* /Components/VolumeChart.razor.rz.scp.css */
.volume-chart[b-361t672a3h] {
    margin-top: 0.5rem;
}

.volume-chart-svg[b-361t672a3h] {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}

.volume-chart__legend[b-361t672a3h] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.75rem;
    font-size: 0.78rem;
    color: #57606a;
}

.volume-chart__legend-item[b-361t672a3h] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.volume-chart__legend-swatch[b-361t672a3h] {
    display: inline-block;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 2px;
    flex-shrink: 0;
}
/* /Components/WorkoutTimer.razor.rz.scp.css */
/* ── Workout timer container ─────────────────────────────────── */
.workout-timer[b-7axrd6533j]
{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

/* ── Start button ────────────────────────────────────────────── */
.workout-timer__start-btn[b-7axrd6533j]
{
    font-weight: 600;
}

/* ── Elapsed time display ────────────────────────────────────── */
.workout-timer__display[b-7axrd6533j]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #f0fbf6;
    border: 1px solid #b0dfc8;
    border-radius: 0.75rem;
}

.workout-timer__icon[b-7axrd6533j]
{
    font-size: 1.1rem;
}

.workout-timer__time[b-7axrd6533j]
{
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #1a7f64;
    letter-spacing: 0.04em;
}

/* ── Pause / Resume controls ─────────────────────────────────── */
.workout-timer__controls[b-7axrd6533j]
{
    display: flex;
    gap: 0.5rem;
}

.workout-timer__control-btn[b-7axrd6533j]
{
    padding: 0.3rem 0.75rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.workout-timer__control-btn:hover[b-7axrd6533j]
{
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
}

/* ── Error message ───────────────────────────────────────────── */
.workout-timer__error[b-7axrd6533j]
{
    font-size: 0.82rem;
    color: #d32f2f;
    background: #ffe0e0;
    border: 1px solid #ff4d4d;
    border-radius: 0.5rem;
    padding: 0.4rem 0.75rem;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-dai0ao5dbf] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-dai0ao5dbf] {
    flex: 1;
}

.sidebar[b-dai0ao5dbf] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-dai0ao5dbf] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

.debug-api-label[b-dai0ao5dbf] {
    margin-right: auto;
    max-width: 70%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .top-row[b-dai0ao5dbf]  a, .top-row[b-dai0ao5dbf]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-dai0ao5dbf]  a:hover, .top-row[b-dai0ao5dbf]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-dai0ao5dbf]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-dai0ao5dbf] {
        justify-content: space-between;
    }

    .debug-api-label[b-dai0ao5dbf] {
        max-width: 55%;
    }

    .top-row[b-dai0ao5dbf]  a, .top-row[b-dai0ao5dbf]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-dai0ao5dbf] {
        flex-direction: row;
    }

    .sidebar[b-dai0ao5dbf] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-dai0ao5dbf] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-dai0ao5dbf]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-dai0ao5dbf], article[b-dai0ao5dbf] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ys2bq62udl] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-ys2bq62udl] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ys2bq62udl] {
    font-size: 1.1rem;
}

.bi[b-ys2bq62udl] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ys2bq62udl] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ys2bq62udl] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ys2bq62udl] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-ys2bq62udl] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ys2bq62udl] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ys2bq62udl] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ys2bq62udl]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-ys2bq62udl]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ys2bq62udl]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ys2bq62udl] {
        display: none;
    }

    .collapse[b-ys2bq62udl] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-ys2bq62udl] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/Achievements.razor.rz.scp.css */
.achievements__filter-tabs[b-uhg22gmqe7] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.achievements__grid[b-uhg22gmqe7] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1rem;
}

.achievements__card[b-uhg22gmqe7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.25rem 1rem;
    gap: 0.5rem;
    transition: opacity 0.2s, filter 0.2s;
}

.achievements__card--locked[b-uhg22gmqe7] {
    opacity: 0.5;
    filter: grayscale(0.85);
}

.achievements__card-icon[b-uhg22gmqe7] {
    font-size: 2.5rem;
    line-height: 1;
}

.achievements__card-name[b-uhg22gmqe7] {
    font-size: 1rem;
    font-weight: 600;
    color: #24292f;
    margin: 0;
}

.achievements__card-desc[b-uhg22gmqe7] {
    font-size: 0.82rem;
    color: #57606a;
    margin: 0;
    line-height: 1.4;
}

.achievements__card-date[b-uhg22gmqe7] {
    margin-top: auto;
}

/* Re-use toggle styles */
.view-toggle[b-uhg22gmqe7] {
    padding: 0.3rem 0.7rem;
    border: 1px solid #d0d7de;
    border-radius: 0.4rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    white-space: nowrap;
}

.view-toggle:hover[b-uhg22gmqe7],
.view-toggle--active[b-uhg22gmqe7] {
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
}

@media (max-width: 960px) {
    .achievements__grid[b-uhg22gmqe7] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .achievements__grid[b-uhg22gmqe7] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Admin.razor.rz.scp.css */
.admin-page__actions[b-4g9li1pgt2] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.admin-page__grid[b-4g9li1pgt2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 1rem;
}

.admin-page__detail-item[b-4g9li1pgt2] {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    border: 1px solid #d0d7de;
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.admin-page__label[b-4g9li1pgt2] {
    color: #57606a;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.admin-page__value[b-4g9li1pgt2] {
    color: #24292f;
    font-size: 0.98rem;
    line-height: 1.45;
    word-break: break-word;
}
/* /Pages/AdminUserDetail.razor.rz.scp.css */
/* ---- Admin User Detail page ---- */

.page-kicker__back[b-t7utusz454] {
    color: var(--accent-foreground-rest);
    text-decoration: none;
    font-size: 0.875rem;
}

.page-kicker__back:hover[b-t7utusz454] {
    text-decoration: underline;
}

.user-detail__heading-badges[b-t7utusz454] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.pill--accent[b-t7utusz454] {
    background-color: #f0f4ff;
    color: #1d4ed8;
    border: 1px solid #3b82f6;
}

/* Two-column detail grid */
.user-detail__grid[b-t7utusz454] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem 1.5rem;
    margin-top: 1rem;
}

.user-detail__item[b-t7utusz454] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.user-detail__label[b-t7utusz454] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--neutral-foreground-hint);
}

.user-detail__value[b-t7utusz454] {
    font-size: 0.9rem;
    color: var(--neutral-foreground-rest);
}

.user-detail__id[b-t7utusz454] {
    font-family: monospace;
    font-size: 0.78rem;
    word-break: break-all;
    color: var(--neutral-foreground-hint);
}

/* Stats grid */
.user-detail__stats-grid[b-t7utusz454] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.user-detail__stat-card[b-t7utusz454] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 1rem 0.75rem;
    background-color: var(--neutral-fill-rest);
    border-radius: 6px;
    text-align: center;
}

.user-detail__stat-value[b-t7utusz454] {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--neutral-foreground-rest);
    line-height: 1;
}

.user-detail__stat-label[b-t7utusz454] {
    font-size: 0.75rem;
    color: var(--neutral-foreground-hint);
}

/* Tag sections (equipment, training days, allergens) */
.user-detail__tag-section[b-t7utusz454] {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.user-detail__tags[b-t7utusz454] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

/* Pill variants shared with AdminUsers */
.pill--sm[b-t7utusz454] {
    font-size: 0.7rem;
    padding: 2px 8px;
}

.pill--neutral[b-t7utusz454] {
    background-color: var(--neutral-fill-rest);
    color: var(--neutral-foreground-rest);
}
/* /Pages/AdminUsers.razor.rz.scp.css */
/* ---- Admin Users list page ---- */

.users-table-wrapper[b-00smat0ixj] {
    overflow-x: auto;
    margin-top: 1rem;
}

.users-table[b-00smat0ixj] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.users-table th[b-00smat0ixj] {
    text-align: left;
    padding: 0.5rem 0.75rem;
    color: var(--neutral-foreground-hint);
    font-weight: 600;
    border-bottom: 1px solid var(--neutral-stroke-rest);
    white-space: nowrap;
}

.users-table td[b-00smat0ixj] {
    padding: 0.75rem 0.75rem;
    border-bottom: 1px solid var(--neutral-stroke-rest);
    vertical-align: middle;
}

.users-table tbody tr:last-child td[b-00smat0ixj] {
    border-bottom: none;
}

.users-table tbody tr:hover td[b-00smat0ixj] {
    background-color: var(--neutral-fill-stealth-hover);
}

.users-table__email-link[b-00smat0ixj] {
    background: none;
    border: none;
    padding: 0;
    color: var(--accent-foreground-rest);
    font-size: inherit;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.users-table__email-link:hover[b-00smat0ixj] {
    color: var(--accent-foreground-hover);
}

.users-table__date[b-00smat0ixj] {
    color: var(--neutral-foreground-hint);
    white-space: nowrap;
}

.users-table__actions[b-00smat0ixj] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.users-table__delete-btn[b-00smat0ixj] {
    --accent-foreground-rest: var(--error-foreground);
    color: var(--error);
}

.users-table__role[b-00smat0ixj] {
    white-space: nowrap;
}

.role-select[b-00smat0ixj] {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 12px;
    padding: 3px 24px 3px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236c757d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-color: var(--neutral-fill-rest);
    color: var(--neutral-foreground-rest);
    transition: border-color 0.15s;
}

.role-select:hover:not(:disabled)[b-00smat0ixj] {
    border-color: var(--neutral-stroke-hover);
}

.role-select:focus[b-00smat0ixj] {
    outline: 2px solid var(--accent-fill-rest);
    outline-offset: 1px;
}

.role-select:disabled[b-00smat0ixj] {
    opacity: 0.6;
    cursor: not-allowed;
}

.role-select--admin[b-00smat0ixj] {
    background-color: #f0f4ff;
    border-color: #3b82f6;
    color: #1d4ed8;
}

.role-select--user[b-00smat0ixj] {
    background-color: var(--neutral-fill-rest);
    border-color: var(--neutral-stroke-rest);
    color: var(--neutral-foreground-rest);
}


.pill--sm[b-00smat0ixj] {
    font-size: 0.7rem;
    padding: 2px 8px;
}

.pill--neutral[b-00smat0ixj] {
    background-color: var(--neutral-fill-rest);
    color: var(--neutral-foreground-rest);
}

/* ---- Delete confirmation modal ---- */

.modal-overlay[b-00smat0ixj] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-card[b-00smat0ixj] {
    background-color: var(--neutral-layer-1);
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    padding: 1.75rem 2rem;
    max-width: 480px;
    width: 90%;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

.modal-card h3[b-00smat0ixj] {
    margin: 0 0 0.75rem;
    font-size: 1.1rem;
}

.modal-card p[b-00smat0ixj] {
    margin: 0 0 1.25rem;
    color: var(--neutral-foreground-rest);
    line-height: 1.5;
}

.modal-card__actions[b-00smat0ixj] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
}

.modal-card__confirm-delete[b-00smat0ixj] {
    --accent-fill-rest: var(--error);
    --accent-fill-hover: var(--error-hover);
    --accent-fill-active: var(--error-active);
    --foreground-on-accent-rest: white;
}
/* /Pages/AskMyCoaches.razor.rz.scp.css */
/* ── Layout ──────────────────────────────────────────────────── */
.coach-chat-layout[b-ow31mzwk84] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 780px;
    margin: 0 auto;
}

/* ── Chat window ──────────────────────────────────────────────── */
.coach-chat-window[b-ow31mzwk84] {
    background: #f6f8fa;
    border: 1px solid #d0d7de;
    border-radius: 0.75rem;
    min-height: 340px;
    max-height: 520px;
    overflow-y: auto;
    padding: 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    scroll-behavior: smooth;
}

/* ── Empty state ──────────────────────────────────────────────── */
.coach-empty-state[b-ow31mzwk84] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    flex: 1;
    text-align: center;
}

.coach-avatar-row[b-ow31mzwk84] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
}

.coach-empty-state__text[b-ow31mzwk84] {
    font-size: 1rem;
    font-weight: 600;
    color: #24292f;
    margin: 0;
}

.coach-empty-state__sub[b-ow31mzwk84] {
    font-size: 0.82rem;
    color: #57606a;
    margin: 0;
}

/* ── Chat rows ────────────────────────────────────────────────── */
.chat-row[b-ow31mzwk84] {
    display: flex;
    gap: 0.5rem;
    max-width: 88%;
}

.chat-row--user[b-ow31mzwk84] {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.chat-row--coach[b-ow31mzwk84] {
    align-self: flex-start;
}

/* ── Coach avatar circle ──────────────────────────────────────── */
.coach-avatar[b-ow31mzwk84] {
    width: 2.1rem;
    height: 2.1rem;
    min-width: 2.1rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--coach-color) 15%, white);
    border: 1.5px solid color-mix(in srgb, var(--coach-color) 40%, white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    cursor: default;
    user-select: none;
}

.coach-avatar--lg[b-ow31mzwk84] {
    width: 2.8rem;
    height: 2.8rem;
    min-width: 2.8rem;
    font-size: 1.35rem;
}

/* ── Chat bubble wrap (name + bubble + timestamp) ─────────────── */
.chat-bubble-wrap[b-ow31mzwk84] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    max-width: 100%;
}

.chat-coach-name[b-ow31mzwk84] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.chat-timestamp[b-ow31mzwk84] {
    font-size: 0.7rem;
    color: #8c959f;
    padding-left: 0.25rem;
}

/* ── Bubbles ──────────────────────────────────────────────────── */
.chat-bubble[b-ow31mzwk84] {
    padding: 0.6rem 0.875rem;
    border-radius: 1rem;
    font-size: 0.9rem;
    line-height: 1.55;
    word-break: break-word;
}

.chat-bubble--user[b-ow31mzwk84] {
    background: #0969da;
    color: #ffffff;
    border-bottom-right-radius: 0.25rem;
}

.chat-bubble--coach[b-ow31mzwk84] {
    background: #ffffff;
    border: 1px solid #d0d7de;
    color: #24292f;
    border-bottom-left-radius: 0.25rem;
}

/* ── Bubble content ───────────────────────────────────────────── */
.chat-bubble__para[b-ow31mzwk84] {
    margin: 0 0 0.35rem;
}

.chat-bubble__para:last-child[b-ow31mzwk84] {
    margin-bottom: 0;
}

.chat-bubble__list[b-ow31mzwk84] {
    margin: 0.25rem 0 0.25rem 1rem;
    padding: 0;
}

.chat-bubble__list li[b-ow31mzwk84] {
    margin-bottom: 0.2rem;
}

/* ── Typing indicator ─────────────────────────────────────────── */
.chat-bubble--typing[b-ow31mzwk84] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.6rem 0.875rem;
    min-width: 3.5rem;
}

.typing-dot[b-ow31mzwk84] {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: #8c959f;
    animation: typing-pulse-b-ow31mzwk84 1.2s infinite ease-in-out;
}

.typing-dot:nth-child(2)[b-ow31mzwk84] { animation-delay: 0.2s; }
.typing-dot:nth-child(3)[b-ow31mzwk84] { animation-delay: 0.4s; }

@keyframes typing-pulse-b-ow31mzwk84 {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.5; }
    30%            { transform: translateY(-4px); opacity: 1; }
}

/* ── Input bar ────────────────────────────────────────────────── */
.coach-input-bar[b-ow31mzwk84] {
    background: #ffffff;
    border: 1px solid #d0d7de;
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

.coach-input-form[b-ow31mzwk84] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
    width: 100%;
}

.coach-input-form fluent-text-area[b-ow31mzwk84],
.coach-input-form [class*="fluent-text-area"][b-ow31mzwk84],
.coach-input-form > *:first-child[b-ow31mzwk84] {
    flex: 1;
    min-width: 0;
}

/* ── Coach roster (Meet Your Coaches) ────────────────────────── */
.coach-roster[b-ow31mzwk84] {
    max-width: 780px;
    margin: 1.5rem auto 0;
    text-align: center;
}

.coach-roster__heading[b-ow31mzwk84] {
    font-size: 1.3rem;
    font-weight: 700;
    color: #24292f;
    margin: 0 0 0.25rem;
}

.coach-roster__sub[b-ow31mzwk84] {
    font-size: 0.875rem;
    color: #57606a;
    margin: 0 0 1.25rem;
}

.coach-roster__cards[b-ow31mzwk84] {
    display: flex;
    gap: 0.875rem;
    flex-wrap: wrap;
    justify-content: center;
}

.coach-card[b-ow31mzwk84] {
    background: #ffffff;
    border: 1px solid #d0d7de;
    border-radius: 0.75rem;
    padding: 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    min-width: 130px;
    max-width: 148px;
    text-align: center;
}

.coach-card__avatar[b-ow31mzwk84] {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--coach-color) 15%, white);
    border: 2px solid color-mix(in srgb, var(--coach-color) 35%, white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 0.35rem;
}

.coach-card__name[b-ow31mzwk84] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #24292f;
}

.coach-card__specialty[b-ow31mzwk84] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #57606a;
    margin-bottom: 0.15rem;
}

.coach-card__desc[b-ow31mzwk84] {
    font-size: 0.78rem;
    color: #6e7781;
    line-height: 1.45;
    margin: 0;
}

@media (max-width: 480px) {
    .coach-roster__cards[b-ow31mzwk84] {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem;
    }

    .coach-card[b-ow31mzwk84] {
        max-width: none;
    }
}
/* /Pages/Challenges.razor.rz.scp.css */
.challenges__list[b-sxprrdfrv9] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.challenges__item[b-sxprrdfrv9] {
    padding: 1rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    background: #f6f8fa;
}

.challenges__item-header[b-sxprrdfrv9] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.challenges__item-header h3[b-sxprrdfrv9] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #24292f;
}

/* Progress bar */
.challenges__progress[b-sxprrdfrv9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.challenges__progress-bar[b-sxprrdfrv9] {
    flex: 1;
    height: 8px;
    background: #e0e6ec;
    border-radius: 4px;
    overflow: hidden;
}

.challenges__progress-fill[b-sxprrdfrv9] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.challenges__progress-fill--active[b-sxprrdfrv9] {
    background: #30a14e;
}

.challenges__progress-fill--completed[b-sxprrdfrv9] {
    background: #d4a017;
}

.challenges__progress-fill--failed[b-sxprrdfrv9] {
    background: #cf222e;
}

.challenges__progress-text[b-sxprrdfrv9] {
    font-size: 0.82rem;
    color: #57606a;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.challenges__days-remaining[b-sxprrdfrv9] {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.78rem;
}

/* Pill variants re-used from project conventions */
.pill--danger[b-sxprrdfrv9] {
    background: #ffebe9;
    color: #cf222e;
}

@media (max-width: 640px) {
    .challenges__item-header[b-sxprrdfrv9] {
        flex-direction: column;
    }
}
/* /Pages/Coach.razor.rz.scp.css */
.coach-review-card[b-02gwuadxs3],
.coach-adjustment-card[b-02gwuadxs3],
.coach-adjustment-empty[b-02gwuadxs3] {
    margin-top: 1rem;
}

.coach-review-header[b-02gwuadxs3] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.coach-review-date[b-02gwuadxs3],
.coach-adjustment-target[b-02gwuadxs3],
.coach-adjustment-review-title[b-02gwuadxs3] {
    margin: 0 0 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #4f6f8f;
}

.coach-summary[b-02gwuadxs3] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #24364a;
}

.coach-adjustment-grid[b-02gwuadxs3] {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.coach-adjustment-card[b-02gwuadxs3] {
    background: linear-gradient(180deg, #ffffff 0%, #f5f9fc 100%);
}

.coach-adjustment-header[b-02gwuadxs3] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.coach-status[b-02gwuadxs3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
}

.coach-status--pending[b-02gwuadxs3] {
    background: #e8f1fb;
    color: #29527a;
}

.coach-status--applied[b-02gwuadxs3] {
    background: #e6f4ef;
    color: #245b4a;
}

.coach-status--dismissed[b-02gwuadxs3] {
    background: #eef2f5;
    color: #556371;
}

.coach-adjustment-review[b-02gwuadxs3] {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 0.9rem;
    background: #eef5f9;
}

.coach-plan-reference[b-02gwuadxs3] {
    margin-top: 0.9rem;
    padding: 0.9rem 1rem;
    border-radius: 0.8rem;
    background: #ffffff;
}

.coach-adjustment-actions[b-02gwuadxs3] {
    margin-top: 1rem;
    flex-wrap: wrap;
}

@media (max-width: 720px) {
    .coach-review-header[b-02gwuadxs3],
    .coach-adjustment-header[b-02gwuadxs3] {
        flex-direction: column;
    }

    .coach-status[b-02gwuadxs3] {
        min-width: 0;
    }
}
/* /Pages/ExerciseDetail.razor.rz.scp.css */
.exercise-detail__info[b-jfnh3qt3be] {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
}

.exercise-detail__image[b-jfnh3qt3be] {
    width: 200px;
    height: auto;
    border-radius: 0.5rem;
    object-fit: cover;
    flex-shrink: 0;
}

.exercise-detail__meta[b-jfnh3qt3be] {
    flex: 1;
    min-width: 0;
}

.exercise-detail__range-filter[b-jfnh3qt3be] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.exercise-detail__range-label[b-jfnh3qt3be] {
    font-size: 0.88rem;
    color: #57606a;
    font-weight: 500;
    margin-right: 0.25rem;
}

/* Re-use the same toggle style from StrengthHistory */
.view-toggle[b-jfnh3qt3be] {
    padding: 0.3rem 0.7rem;
    border: 1px solid #d0d7de;
    border-radius: 0.4rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    white-space: nowrap;
}

.view-toggle:hover[b-jfnh3qt3be],
.view-toggle--active[b-jfnh3qt3be] {
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
}

@media (max-width: 640px) {
    .exercise-detail__info[b-jfnh3qt3be] {
        flex-direction: column;
    }

    .exercise-detail__image[b-jfnh3qt3be] {
        width: 100%;
        max-width: 280px;
    }
}
/* /Pages/ExerciseLibrary.razor.rz.scp.css */
.exercise-search-card[b-5hqyzuwh5p] {
    margin-bottom: 1rem;
}

.exercise-search-bar[b-5hqyzuwh5p] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.exercise-search-bar__input[b-5hqyzuwh5p] {
    flex: 1;
}

.exercise-filters[b-5hqyzuwh5p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
}

.exercise-results-header[b-5hqyzuwh5p] {
    margin-bottom: 0.5rem;
}

.exercise-grid[b-5hqyzuwh5p] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0.75rem;
}

/* ── Card base ──────────────────────────────────────────────────── */
.exercise-card[b-5hqyzuwh5p] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.85rem 1rem;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.exercise-card:hover[b-5hqyzuwh5p] {
    border-color: #3b82f6;
    box-shadow: 0 1px 4px rgba(59,130,246,0.12);
}

.exercise-card--selected[b-5hqyzuwh5p] {
    border-color: #2563eb;
    background: #eff6ff;
}

.exercise-card__header[b-5hqyzuwh5p] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.exercise-card__name[b-5hqyzuwh5p] {
    font-weight: 600;
    font-size: 0.92rem;
    color: #1e293b;
    flex: 1;
}

.exercise-card__badges[b-5hqyzuwh5p] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    flex-shrink: 0;
}

.exercise-card__meta[b-5hqyzuwh5p] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

/* ── Expanded detail panel ──────────────────────────────────────── */
.exercise-card__detail[b-5hqyzuwh5p] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #e2e8f0;
    font-size: 0.85rem;
}

/* Animated GIF demonstration */
.exercise-card__gif-wrap[b-5hqyzuwh5p] {
    margin: 0 -0.1rem 0.75rem;
    border-radius: 6px;
    overflow: hidden;
    background: #0f172a;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 120px;
}

.exercise-card__gif[b-5hqyzuwh5p] {
    max-width: 100%;
    max-height: 240px;
    object-fit: contain;
    display: block;
}

/* Start/end static photos side by side */
.exercise-card__images[b-5hqyzuwh5p] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.exercise-card__image[b-5hqyzuwh5p] {
    flex: 1;
    border-radius: 6px;
    max-height: 180px;
    object-fit: cover;
    background: #e2e8f0;
}

/* Muscle labels */
.exercise-card__muscles[b-5hqyzuwh5p] {
    margin-bottom: 0.35rem;
    font-size: 0.82rem;
    line-height: 1.4;
}

/* Step-by-step instructions */
.exercise-instructions[b-5hqyzuwh5p] {
    margin: 0.5rem 0 0.75rem 1.2rem;
    padding: 0;
    font-size: 0.81rem;
    color: #334155;
    line-height: 1.55;
}

.exercise-instructions li[b-5hqyzuwh5p] {
    margin-bottom: 0.35rem;
}

.exercise-card__increment[b-5hqyzuwh5p] {
    margin-top: 0.5rem;
    font-size: 0.82rem;
    color: #475569;
}

/* ── Tags ──────────────────────────────────────────────────────── */
.exercise-tag[b-5hqyzuwh5p] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 500;
    background: #e2e8f0;
    color: #475569;
    white-space: nowrap;
}

.exercise-tag--pattern[b-5hqyzuwh5p] {
    background: #dbeafe;
    color: #1d4ed8;
}

.exercise-tag--equipment[b-5hqyzuwh5p] {
    background: #dcfce7;
    color: #15803d;
}

.exercise-tag--category[b-5hqyzuwh5p] {
    background: #fef9c3;
    color: #854d0e;
}

/* Level badges */
.exercise-tag--level[b-5hqyzuwh5p]          { background: #e0f2fe; color: #0369a1; }
.exercise-tag--level-beginner[b-5hqyzuwh5p]      { background: #dcfce7; color: #15803d; }
.exercise-tag--level-intermediate[b-5hqyzuwh5p]  { background: #fef9c3; color: #854d0e; }
.exercise-tag--level-advanced[b-5hqyzuwh5p]      { background: #fee2e2; color: #b91c1c; }

/* ── Import action (top-right of page hero) ───────────────────── */
.exercise-import-action[b-5hqyzuwh5p] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.import-result[b-5hqyzuwh5p] {
    font-size: 0.82rem;
    font-weight: 500;
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
}

.import-result--success[b-5hqyzuwh5p] {
    background: #dcfce7;
    color: #15803d;
}

.import-result--neutral[b-5hqyzuwh5p] {
    background: #f1f5f9;
    color: #475569;
}
/* /Pages/Home.razor.rz.scp.css */
.home-meal-chips[b-xwd56iabh9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.5rem;
}

.meal-chip[b-xwd56iabh9] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    border: 1px solid transparent;
}

.meal-chip--confirmed[b-xwd56iabh9] {
    background: #e6f4ea;
    color: #1e7e34;
    border-color: #a8d5b5;
}

.metric-card--streak .metric-card__value[b-xwd56iabh9] {
    color: #d97706;
}
/* /Pages/NutritionPlan.razor.rz.scp.css */
.nutrition-plan-page[b-qyhstb4com] {
    gap: 1.25rem;
}

.nutrition-plan__actions[b-qyhstb4com] {
    margin-bottom: 0.5rem;
}

.nutrition-export-link[b-qyhstb4com] {
    background: var(--ha-panel);
    border: 1px solid var(--ha-border);
}

.nutrition-day-grid[b-qyhstb4com],
.nutrition-meal-grid[b-qyhstb4com],
.nutrition-grocery-groups[b-qyhstb4com] {
    display: grid;
    gap: 1rem;
}

.nutrition-day-grid[b-qyhstb4com] {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.nutrition-meal-grid[b-qyhstb4com] {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.nutrition-grocery-groups[b-qyhstb4com] {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.nutrition-day-card[b-qyhstb4com],
.nutrition-meal-card[b-qyhstb4com],
.nutrition-grocery-group[b-qyhstb4com] {
    height: 100%;
}

.nutrition-meal-card[b-qyhstb4com],
.nutrition-grocery-group[b-qyhstb4com] {
    padding: 1rem;
    border-radius: 18px;
}

.nutrition-meal-card__header[b-qyhstb4com],
.nutrition-swap-card[b-qyhstb4com],
.nutrition-grocery-group li[b-qyhstb4com],
.nutrition-ingredient-list li[b-qyhstb4com] {
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    align-items: start;
}

.nutrition-meal-card__header[b-qyhstb4com] {
    flex-direction: column;
}

.nutrition-meal-card h3[b-qyhstb4com],
.nutrition-grocery-group h3[b-qyhstb4com] {
    margin-bottom: 0;
}

.nutrition-meal-metrics .metric-card[b-qyhstb4com] {
    min-width: 0;
}

.nutrition-ingredient-list[b-qyhstb4com] {
    display: grid;
    gap: 0.5rem;
    list-style: none;
    padding-left: 0;
}

.nutrition-swap-card[b-qyhstb4com] {
    justify-content: space-between;
}

.nutrition-swap-card__content[b-qyhstb4com] {
    display: grid;
    gap: 0.25rem;
}

@media (max-width: 720px) {
    .nutrition-day-grid[b-qyhstb4com],
    .nutrition-meal-grid[b-qyhstb4com],
    .nutrition-grocery-groups[b-qyhstb4com] {
        grid-template-columns: 1fr;
    }

    .nutrition-swap-card[b-qyhstb4com],
    .nutrition-grocery-group li[b-qyhstb4com],
    .nutrition-ingredient-list li[b-qyhstb4com] {
        flex-direction: column;
    }
}

@media print {
    .nutrition-plan__actions[b-qyhstb4com],
    .page-card:not(.nutrition-grocery-card)[b-qyhstb4com],
    .page-hero[b-qyhstb4com],
    .status-alert[b-qyhstb4com] {
        display: none !important;
    }

    .nutrition-grocery-card[b-qyhstb4com],
    .nutrition-grocery-group[b-qyhstb4com] {
        box-shadow: none;
        border-color: #d6e1ee;
    }
}

/* ── Training day card accent ────────────────────────────────── */
.nutrition-day-card--training[b-qyhstb4com]
{
    border-color: #b0dfc8;
    background: linear-gradient(180deg, #f0fbf6 0%, #ffffff 100%);
}

/* ── Recipe link ─────────────────────────────────────────────── */
.recipe-link[b-qyhstb4com]
{
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: #1a7f64;
    text-decoration: none;
    margin: 0.4rem 0 0.5rem;
}

.recipe-link:hover[b-qyhstb4com] { text-decoration: underline; }

.recipe-link--small[b-qyhstb4com]
{
    font-size: 0.78rem;
    margin: 0.25rem 0 0;
}

/* ── NE14: Macro donut rings ──────────────────────────────────── */
.macro-rings-row[b-qyhstb4com]
{
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: 0.5rem 0;
}

.macro-rings-labels[b-qyhstb4com]
{
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.macro-rings-label[b-qyhstb4com]
{
    font-size: 0.8rem;
    font-weight: 600;
}

.macro-rings-label span[b-qyhstb4com]
{
    font-weight: 400;
    color: #6e7781;
    margin-left: 0.15rem;
}

.macro-rings-label--calories[b-qyhstb4com] { color: #24292f; font-size: 0.88rem; }
.macro-rings-label--protein[b-qyhstb4com]  { color: #1a7f64; }
.macro-rings-label--carbs[b-qyhstb4com]    { color: #0969da; }
.macro-rings-label--fat[b-qyhstb4com]      { color: #b8860b; }

/* NE9: Meal confirmation button */
.meal-confirm-btn[b-qyhstb4com] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    border: 1px solid #d0d7de;
    border-radius: 2rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    margin-top: 0.5rem;
}

.meal-confirm-btn:hover[b-qyhstb4com] {
    border-color: #0969da;
    color: #0969da;
    background: #dbeafe;
}

.meal-confirm-btn--confirmed[b-qyhstb4com] {
    border-color: #1a7f37;
    color: #1a7f37;
    background: #dcfce7;
}

.meal-confirm-btn--confirmed:hover[b-qyhstb4com] {
    background: #bbf7d0;
    border-color: #15803d;
}
/* /Pages/Onboarding.razor.rz.scp.css */
.profile-select-field[b-m66igd4lf2] {
    display: grid;
    gap: 0.35rem;
}

.profile-select-field__label[b-m66igd4lf2] {
    color: var(--ha-text-muted);
    font-size: 0.875rem;
    font-weight: 600;
}

.profile-select-field__input[b-m66igd4lf2] {
    min-height: 40px;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--ha-border);
    border-radius: 12px;
    background: var(--ha-panel);
    color: var(--ha-text);
    font: inherit;
}

.profile-select-field__input:focus[b-m66igd4lf2] {
    outline: 2px solid rgba(15, 108, 189, 0.25);
    outline-offset: 2px;
}
/* /Pages/PlateCalculator.razor.rz.scp.css */
.plate-calc-controls[b-26l6905ze1]
{
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.plate-calc-field[b-26l6905ze1]
{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.plate-calc-label[b-26l6905ze1]
{
    font-size: 0.85rem;
    font-weight: 600;
    color: #24292f;
}

.plate-calc-input-row[b-26l6905ze1]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.plate-calc-input[b-26l6905ze1]
{
    width: 8rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    font-size: 1.05rem;
    font-weight: 600;
    color: #24292f;
    background: #f6f8fa;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.plate-calc-input:focus[b-26l6905ze1]
{
    outline: none;
    border-color: #539bf5;
    background: #ffffff;
}

.plate-calc-unit-toggle[b-26l6905ze1]
{
    display: flex;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    overflow: hidden;
}

.unit-btn[b-26l6905ze1]
{
    padding: 0.4rem 0.7rem;
    border: none;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}

.unit-btn:hover[b-26l6905ze1] { background: #e8f0fe; color: #0969da; }
.unit-btn--active[b-26l6905ze1] { background: #0969da; color: #ffffff; font-weight: 600; }

.plate-calc-bar-btns[b-26l6905ze1]
{
    display: flex;
    gap: 0.4rem;
}

.bar-btn[b-26l6905ze1]
{
    padding: 0.4rem 0.75rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.bar-btn:hover[b-26l6905ze1] { background: #e8f0fe; border-color: #539bf5; color: #0969da; }
.bar-btn--active[b-26l6905ze1] { background: #0969da; border-color: #0969da; color: #ffffff; font-weight: 600; }

/* ── Plate result ──────────────────────────────────────────────── */
.plate-result[b-26l6905ze1]
{
    margin-top: 1rem;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, #e8f8f1 0%, #f0fbf6 100%);
    border: 1px solid #b0dfc8;
    border-radius: 0.85rem;
}

.plate-result__summary[b-26l6905ze1]
{
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.plate-result__label[b-26l6905ze1]
{
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a7f64;
}

.plate-result__empty[b-26l6905ze1]
{
    font-size: 0.9rem;
    color: #57606a;
}

.plate-result__meta[b-26l6905ze1]
{
    font-size: 0.82rem;
    color: #57606a;
    margin: 0;
}

.plate-result__note[b-26l6905ze1]
{
    color: #9a4700;
}

/* ── Plate disc stack ──────────────────────────────────────────── */
.plate-stack[b-26l6905ze1]
{
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.plate-disc[b-26l6905ze1]
{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 0.3rem;
    min-width: 2.5rem;
    min-height: 3.5rem;
    padding: 0 0.3rem;
    cursor: default;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.15), 0 1px 3px rgba(0,0,0,0.1);
    border: 2px solid rgba(0,0,0,0.1);
}

.plate-disc--red[b-26l6905ze1]    { background: #d32f2f; color: #ffffff; }
.plate-disc--blue[b-26l6905ze1]   { background: #1565c0; color: #ffffff; }
.plate-disc--yellow[b-26l6905ze1] { background: #f9a825; color: #2d2d2d; }
.plate-disc--green[b-26l6905ze1]  { background: #2e7d32; color: #ffffff; }
.plate-disc--white[b-26l6905ze1]  { background: #f5f5f5; color: #24292f; border-color: #ccc; }
.plate-disc--gray[b-26l6905ze1]   { background: #616161; color: #ffffff; }

/* ── Quick picks ───────────────────────────────────────────────── */
.plate-quick-picks[b-26l6905ze1]
{
    margin-top: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.plate-quick-label[b-26l6905ze1]
{
    font-size: 0.82rem;
    font-weight: 600;
    color: #57606a;
    margin: 0;
}

.plate-quick-buttons[b-26l6905ze1]
{
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.quick-btn[b-26l6905ze1]
{
    padding: 0.3rem 0.65rem;
    border: 1px solid #d0d7de;
    border-radius: 0.4rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.quick-btn:hover[b-26l6905ze1]
{
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
}
/* /Pages/Privacy.razor.rz.scp.css */
.delete-confirm[b-9kjz4kaxfd] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #fff1f0;
    border: 1px solid #f0b3ad;
    border-radius: 14px;
}

.delete-confirm__warning[b-9kjz4kaxfd] {
    flex: 1 1 200px;
    font-weight: 600;
    color: #b42318;
    font-size: 0.9rem;
}
/* /Pages/ProgressDashboard.razor.rz.scp.css */
.progress-dashboard[b-tu42e3pzs6] {
    gap: 1.25rem;
}

.progress-dashboard__grid[b-tu42e3pzs6] {
    align-items: start;
}

.progress-chart[b-tu42e3pzs6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    gap: 0.75rem;
    align-items: end;
    margin-top: 1rem;
}

.progress-chart__item[b-tu42e3pzs6] {
    display: grid;
    gap: 0.5rem;
    justify-items: center;
}

.progress-chart__value[b-tu42e3pzs6],
.progress-chart__label[b-tu42e3pzs6] {
    font-size: 0.85rem;
}

.progress-chart__value[b-tu42e3pzs6] {
    font-weight: 700;
}

.progress-chart__label[b-tu42e3pzs6] {
    color: var(--ha-text-muted);
    text-align: center;
}

.progress-chart__track[b-tu42e3pzs6] {
    display: flex;
    align-items: end;
    width: 100%;
    min-height: 140px;
    padding: 0.5rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #f4f8fc 0%, #eaf2fb 100%);
    border: 1px solid var(--ha-border);
    box-sizing: border-box;
}

.progress-chart__bar[b-tu42e3pzs6] {
    width: 100%;
    border-radius: 14px 14px 10px 10px;
    min-height: 12%;
    background: linear-gradient(180deg, #78b7f0 0%, #0f6cbd 100%);
}

.progress-chart__bar--accent[b-tu42e3pzs6] {
    background: linear-gradient(180deg, #8dc4f5 0%, #0f6cbd 100%);
}

.progress-chart__bar--success[b-tu42e3pzs6] {
    background: linear-gradient(180deg, #9bd49b 0%, #107c10 100%);
}

.progress-chart__bar--neutral[b-tu42e3pzs6] {
    background: linear-gradient(180deg, #c9d5e3 0%, #6b7a8c 100%);
}

.progress-week-list[b-tu42e3pzs6] {
    display: grid;
    gap: 1rem;
}

.progress-week-card[b-tu42e3pzs6] {
    display: grid;
    gap: 0.875rem;
    padding: 1rem;
    border-radius: 18px;
    background: #f7fbff;
    border: 1px solid var(--ha-border);
}

.progress-week-card__header[b-tu42e3pzs6] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.progress-week-card__header h3[b-tu42e3pzs6] {
    margin-bottom: 0.35rem;
}

@media (max-width: 900px) {
    .progress-chart[b-tu42e3pzs6] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .progress-week-card__header[b-tu42e3pzs6] {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .progress-chart[b-tu42e3pzs6] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* WE15: Volume by muscle stacked bar chart */

.volume-chart-container[b-tu42e3pzs6] {
    margin: 0.75rem 0 0.5rem;
    overflow-x: auto;
}

.volume-chart[b-tu42e3pzs6] {
    width: 100%;
    max-width: 520px;
    height: auto;
    display: block;
}

.volume-legend[b-tu42e3pzs6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 0.5rem;
}

.volume-legend__item[b-tu42e3pzs6] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.78rem;
    color: #4b5563;
}

.volume-legend__dot[b-tu42e3pzs6] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* WE17: Training load chart */

.load-chart-container[b-tu42e3pzs6] {
    margin: 0.75rem 0 0;
    overflow-x: auto;
}

.load-chart[b-tu42e3pzs6] {
    width: 100%;
    max-width: 520px;
    height: auto;
    display: block;
}

.overreach-alert[b-tu42e3pzs6] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border: 1px solid #fca5a5;
    border-radius: 0.75rem;
    background: #fff1f2;
}

.overreach-alert__icon[b-tu42e3pzs6] {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.overreach-alert strong[b-tu42e3pzs6] {
    font-size: 0.9rem;
    color: #b91c1c;
}

.overreach-alert p[b-tu42e3pzs6] {
    margin: 0.2rem 0 0;
    font-size: 0.82rem;
    color: #7f1d1d;
}
/* /Pages/ProgressPhotos.razor.rz.scp.css */
.page-hero[b-e2jctcpnrn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    gap: 1rem;
    flex-wrap: wrap;
}

.page-title[b-e2jctcpnrn] {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
    color: var(--neutral-foreground-rest);
}

.page-subtitle[b-e2jctcpnrn] {
    margin: 0;
    color: var(--neutral-foreground-hint);
    font-size: 0.95rem;
}

/* Upload panel */
.upload-card[b-e2jctcpnrn] {
    margin-bottom: 1.5rem;
    padding: 1.5rem;
}

.upload-card h3[b-e2jctcpnrn] {
    margin: 0 0 0.5rem;
    font-size: 1.1rem;
    font-weight: 600;
}

.upload-hint[b-e2jctcpnrn] {
    margin: 0 0 1rem;
    color: var(--neutral-foreground-hint);
    font-size: 0.875rem;
}

.upload-form[b-e2jctcpnrn] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.upload-form__row[b-e2jctcpnrn] {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.field-label[b-e2jctcpnrn] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: var(--neutral-foreground-rest);
}

.fluent-date-input[b-e2jctcpnrn] {
    height: 32px;
    padding: 0 0.75rem;
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 4px;
    font-size: 0.875rem;
    background: var(--neutral-fill-input-rest);
    color: var(--neutral-foreground-rest);
    min-width: 160px;
}

.upload-form__actions[b-e2jctcpnrn] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
}

/* Filter row */
.filter-row[b-e2jctcpnrn] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.photo-count[b-e2jctcpnrn] {
    font-size: 0.875rem;
    color: var(--neutral-foreground-hint);
}

/* Year / month headers */
.year-header[b-e2jctcpnrn] {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 1.5rem 0 0.5rem;
    color: var(--neutral-foreground-rest);
    border-bottom: 2px solid var(--neutral-stroke-rest);
    padding-bottom: 0.25rem;
}

.month-header[b-e2jctcpnrn] {
    font-size: 1rem;
    font-weight: 600;
    margin: 1rem 0 0.75rem;
    color: var(--neutral-foreground-hint);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Photo grid */
.photo-grid[b-e2jctcpnrn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.photo-card[b-e2jctcpnrn] {
    border: 1px solid var(--neutral-stroke-rest);
    border-radius: 8px;
    overflow: hidden;
    background: var(--neutral-fill-rest);
    transition: box-shadow 0.15s;
}

.photo-card:hover[b-e2jctcpnrn] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.photo-card__image-wrap[b-e2jctcpnrn] {
    position: relative;
    aspect-ratio: 3/4;
    background: var(--neutral-fill-secondary-rest);
    overflow: hidden;
}

.photo-card__image-wrap--broken[b-e2jctcpnrn]::after {
    content: "⚠ Image unavailable";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    color: var(--neutral-foreground-hint);
    background: var(--neutral-fill-secondary-rest);
}

.photo-card__image[b-e2jctcpnrn] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.photo-card__angle-badge[b-e2jctcpnrn] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    backdrop-filter: blur(4px);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.photo-card__meta[b-e2jctcpnrn] {
    padding: 0.75rem;
}

.photo-card__date[b-e2jctcpnrn] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--neutral-foreground-rest);
    display: block;
    margin-bottom: 0.25rem;
}

.photo-card__notes[b-e2jctcpnrn] {
    font-size: 0.8rem;
    color: var(--neutral-foreground-hint);
    margin: 0.25rem 0;
    line-height: 1.4;
}

.photo-card__delete-btn[b-e2jctcpnrn] {
    margin-top: 0.5rem;
    font-size: 0.8rem;
    color: var(--error-foreground-rest, #c00);
    opacity: 0;
    transition: opacity 0.15s;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.photo-card:hover .photo-card__delete-btn[b-e2jctcpnrn] {
    opacity: 1;
}

/* Empty state */
.empty-state-card[b-e2jctcpnrn] {
    text-align: center;
    padding: 3rem 2rem;
    border: 2px dashed var(--neutral-stroke-rest);
    border-radius: 12px;
    color: var(--neutral-foreground-hint);
}

.empty-state-card p[b-e2jctcpnrn] {
    margin: 0.75rem 0 0;
    font-size: 0.95rem;
}
/* /Pages/SharedWorkout.razor.rz.scp.css */
.shared-workout[b-o0kd1vqxo4] {
    display: grid;
    gap: 1.25rem;
    max-width: 720px;
}

.shared-workout__hero[b-o0kd1vqxo4] {
    display: grid;
    gap: 0.5rem;
}

.shared-workout__meta[b-o0kd1vqxo4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.shared-workout__footer[b-o0kd1vqxo4] {
    margin-top: 1rem;
    text-align: center;
    font-size: 0.8rem;
}
/* /Pages/StrengthHistory.razor.rz.scp.css */
.strength-history-card[b-vta53j3ia2]
{
    background: linear-gradient(180deg, #f5fbff 0%, #ffffff 100%);
}

.strength-history-card__header[b-vta53j3ia2]
{
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.strength-history-card__actions[b-vta53j3ia2]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.table-scroll[b-vta53j3ia2]
{
    overflow-x: auto;
}

/* ── WE19: Chart view toggle ──────────────────────────────────── */
.view-toggle-group[b-vta53j3ia2]
{
    display: flex;
    gap: 0.25rem;
}

.view-toggle[b-vta53j3ia2]
{
    padding: 0.3rem 0.7rem;
    border: 1px solid #d0d7de;
    border-radius: 0.4rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    white-space: nowrap;
}

.view-toggle:hover[b-vta53j3ia2],
.view-toggle--active[b-vta53j3ia2]
{
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
}

/* ── F05: Volume legend item ─────────────────────────────────── */
.strength-chart-legend__item--volume[b-vta53j3ia2]::before { background: #1a7f64; }

/* ── WE19: Strength line chart ───────────────────────────────── */
.strength-chart-container[b-vta53j3ia2]
{
    margin-top: 0.5rem;
}

.strength-chart-legend[b-vta53j3ia2]
{
    display: flex;
    gap: 1rem;
    margin-bottom: 0.5rem;
    font-size: 0.78rem;
}

.strength-chart-legend__item[b-vta53j3ia2]
{
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: #57606a;
}

.strength-chart-legend__item[b-vta53j3ia2]::before
{
    content: '';
    display: inline-block;
    width: 1.4rem;
    height: 0.2rem;
    border-radius: 1px;
}

.strength-chart-legend__item--weight[b-vta53j3ia2]::before { background: #0969da; }
.strength-chart-legend__item--1rm[b-vta53j3ia2]::before { background: #1a7f64; border-style: dashed; }

.strength-chart[b-vta53j3ia2]
{
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}

/* ── WE19: PR row highlight in table ─────────────────────────── */
.pr-row[b-vta53j3ia2]
{
    background: #fffae6;
}

.pr-row td[b-vta53j3ia2]
{
    border-bottom-color: #ffe082;
}

@media (max-width: 960px)
{
    .strength-history-card__header[b-vta53j3ia2]
    {
        flex-direction: column;
    }
}
/* /Pages/WeeklyReview.razor.rz.scp.css */
.weekly-review[b-vk8ld9izc4] {
    gap: 1.25rem;
}

.weekly-review__empty[b-vk8ld9izc4],
.weekly-review__recommendation[b-vk8ld9izc4],
.weekly-review__notification[b-vk8ld9izc4] {
    display: grid;
    gap: 0.875rem;
}

.weekly-review__summary[b-vk8ld9izc4] {
    margin-top: 1rem;
}

.weekly-review__recommendations[b-vk8ld9izc4],
.weekly-review__notifications[b-vk8ld9izc4] {
    display: grid;
    gap: 1rem;
}

.weekly-review__recommendation[b-vk8ld9izc4],
.weekly-review__notification[b-vk8ld9izc4] {
    padding: 1rem;
    border-radius: 18px;
    background: #f7fbff;
    border: 1px solid var(--ha-border);
}

.weekly-review__recommendation-header[b-vk8ld9izc4],
.weekly-review__notification-header[b-vk8ld9izc4] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.weekly-review__recommendation-header h3[b-vk8ld9izc4],
.weekly-review__notification-header h3[b-vk8ld9izc4] {
    margin-bottom: 0.35rem;
}

.weekly-review__notification-meta[b-vk8ld9izc4],
.weekly-review__channel-list[b-vk8ld9izc4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

@media (max-width: 900px) {
    .weekly-review__recommendation-header[b-vk8ld9izc4],
    .weekly-review__notification-header[b-vk8ld9izc4] {
        flex-direction: column;
    }
}
/* /Pages/WorkoutCalendar.razor.rz.scp.css */
.strength-day[b-j3nlwdlor1]
{
    display: grid;
    gap: 1rem;
}

.strength-day__heading[b-j3nlwdlor1]
{
    align-items: flex-start;
    gap: 1rem;
}

.strength-day__actions[b-j3nlwdlor1]
{
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.strength-exercise-card[b-j3nlwdlor1]
{
    border: 1px solid #d0d7de;
    border-radius: 0.85rem;
    padding: 1rem;
    background: linear-gradient(180deg, #f6fbff 0%, #ffffff 100%);
}

.strength-exercise-card__header[b-j3nlwdlor1]
{
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.strength-exercise-card__summary[b-j3nlwdlor1]
{
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    margin: 0.75rem 0;
}

.strength-summary-card[b-j3nlwdlor1]
{
    border: 1px solid #d8dee4;
    border-radius: 0.75rem;
    padding: 0.75rem;
    background-color: #ffffff;
}

.strength-set-table td[b-j3nlwdlor1],
.strength-set-table th[b-j3nlwdlor1]
{
    vertical-align: top;
}

.table-scroll[b-j3nlwdlor1]
{
    overflow-x: auto;
}

.strength-input[b-j3nlwdlor1]
{
    width: 6rem;
}

.strength-text-input[b-j3nlwdlor1]
{
    width: 100%;
    min-width: 10rem;
    padding: 0.45rem 0.5rem;
    border: 1px solid #c6d0da;
    border-radius: 0.45rem;
    color: #24292f;
    background-color: #ffffff;
}

.strength-checkbox[b-j3nlwdlor1]
{
    width: 1rem;
    height: 1rem;
}

.strength-exercise-card__actions[b-j3nlwdlor1]
{
    display: flex;
    justify-content: flex-end;
    margin-top: 0.75rem;
}

@media (max-width: 960px)
{
    .strength-day__heading[b-j3nlwdlor1],
    .strength-exercise-card__header[b-j3nlwdlor1]
    {
        flex-direction: column;
    }

    .strength-input[b-j3nlwdlor1]
    {
        width: 100%;
    }
}

/* ── WE16: Mesocycle phase strip ─────────────────────────────── */
.mesocycle-strip[b-j3nlwdlor1]
{
    margin: 0.25rem 0 1.25rem;
}

.mesocycle-strip__phases[b-j3nlwdlor1]
{
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
}

.mesocycle-strip__phase[b-j3nlwdlor1]
{
    font-size: 0.75rem;
    font-weight: 500;
    color: #6c757d;
    padding: 0.2rem 0.6rem;
    border-radius: 1rem;
    background: #f3f4f6;
}

.mesocycle-strip__phase--active[b-j3nlwdlor1]
{
    color: #ffffff;
    background: #1a7f64;
}

.mesocycle-strip__bar[b-j3nlwdlor1]
{
    height: 6px;
    border-radius: 3px;
    background: #e1e8f0;
    overflow: hidden;
    margin-bottom: 0.35rem;
}

.mesocycle-strip__fill[b-j3nlwdlor1]
{
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, #1a7f64, #2da67f);
    transition: width 0.4s ease;
}

.mesocycle-strip__fill--overreach[b-j3nlwdlor1]
{
    background: linear-gradient(90deg, #d97706, #f59e0b);
}

/* ── WE11: Recovery indicator ────────────────────────────────── */
.recovery-indicator[b-j3nlwdlor1]
{
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    padding: 0.15rem 0.5rem;
    border-radius: 1rem;
}

.recovery-indicator--green[b-j3nlwdlor1] { color: #1a7f64; background: #e8f8f1; }
.recovery-indicator--amber[b-j3nlwdlor1] { color: #9a6700; background: #fff8e1; }
.recovery-indicator--red[b-j3nlwdlor1]   { color: #c62828; background: #ffeaea; }

/* ── WE18: PR badge on exercise card ─────────────────────────── */
.strength-exercise-card--pr[b-j3nlwdlor1]
{
    border-color: #d4af37;
    background: linear-gradient(180deg, #fffdf0 0%, #ffffff 100%);
    box-shadow: 0 0 0 2px #f5e17a44;
}

.strength-exercise-card__badges[b-j3nlwdlor1]
{
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    align-items: flex-start;
}

.pill--pr[b-j3nlwdlor1]
{
    background: linear-gradient(135deg, #d4af37, #f5e17a);
    color: #5a3e00;
    font-weight: 600;
}

/* ── WE13: Rest timer ────────────────────────────────────────── */
.rest-timer[b-j3nlwdlor1]
{
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.6rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.6rem;
    background: #e8f8f1;
    border: 1px solid #b0dfc8;
    color: #1a7f64;
    font-size: 0.9rem;
}

.rest-timer--ending[b-j3nlwdlor1]
{
    background: #fff3e0;
    border-color: #ffca28;
    color: #9a6700;
}

.rest-timer__icon[b-j3nlwdlor1] { font-size: 1.1rem; }

/* Pin rest timer to bottom of viewport on mobile so it stays visible while scrolling */
@media (max-width: 640px)
{
    .rest-timer[b-j3nlwdlor1]
    {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 50;
        border-radius: 0;
        margin: 0;
        padding: 0.75rem 1rem;
        justify-content: center;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
    }
}

/* ── WE14: Session summary card ──────────────────────────────── */
.session-summary[b-j3nlwdlor1]
{
    margin-top: 1.25rem;
    padding: 1.25rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #e8f8f1 0%, #f0fbf6 100%);
    border: 1px solid #b0dfc8;
}

.session-summary__header[b-j3nlwdlor1]
{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}

.session-summary__header h3[b-j3nlwdlor1]
{
    margin: 0;
    color: #1a7f64;
}

/* ── WF02: Set-type chip selector ─────────────────────────────── */
.set-type-chips[b-j3nlwdlor1]
{
    display: flex;
    gap: 0.25rem;
    flex-wrap: nowrap;
}

.set-type-chip[b-j3nlwdlor1]
{
    padding: 0.2rem 0.45rem;
    border: 1px solid #d0d7de;
    border-radius: 0.4rem;
    background: #f6f8fa;
    color: #57606a;
    font-size: 0.72rem;
    font-weight: 500;
    cursor: pointer;
    line-height: 1.4;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    white-space: nowrap;
}

.set-type-chip:hover[b-j3nlwdlor1]
{
    background: #e8f0fe;
    border-color: #a0b4f8;
    color: #1a56db;
}

.set-type-chip--active[b-j3nlwdlor1]
{
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
    font-weight: 600;
}

/* ── WF03: Previous session reference ────────────────────────── */
.set-prev-session[b-j3nlwdlor1]
{
    font-size: 0.72rem;
    color: #6e7781;
    margin-top: 0.2rem;
    font-style: italic;
}

/* ── Issue 8: Personal Record badge ─────────────────────────── */
.pr-badge[b-j3nlwdlor1]
{
    display: inline-block;
    margin-left: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #9a6700;
    background: #fff8c5;
    border: 1px solid #d4a72c;
    border-radius: 0.35rem;
    padding: 0.1rem 0.35rem;
    vertical-align: middle;
}

.set-row--pr[b-j3nlwdlor1]
{
    background: #fffbdd;
}

/* ── Issue 10: Deload / staleness banners ───────────────────── */
.status-alert--warning[b-j3nlwdlor1],
.status-alert--info[b-j3nlwdlor1]
{
    margin-bottom: 0.75rem;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
}

/* ── WF04: Session notes ──────────────────────────────────────── */
.session-notes-group[b-j3nlwdlor1]
{
    margin-bottom: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.session-notes-label[b-j3nlwdlor1]
{
    font-size: 0.85rem;
    font-weight: 600;
    color: #24292f;
}

.session-notes-input[b-j3nlwdlor1]
{
    width: 100%;
    padding: 0.5rem 0.65rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    font-size: 0.88rem;
    color: #24292f;
    background: #f6f8fa;
    resize: vertical;
    font-family: inherit;
    line-height: 1.5;
    transition: border-color 0.15s, background 0.15s;
    box-sizing: border-box;
}

.session-notes-input:focus[b-j3nlwdlor1]
{
    outline: none;
    border-color: #539bf5;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(83, 155, 245, 0.15);
}

/* ── WE10: Pre-workout readiness check ───────────────────────── */
.readiness-start-btn[b-j3nlwdlor1]
{
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    border: 1.5px dashed #bac8d9;
    border-radius: 0.5rem;
    background: transparent;
    color: #57606a;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.readiness-start-btn:hover[b-j3nlwdlor1]
{
    background: #f0f6ff;
    border-color: #539bf5;
    color: #0969da;
}

.readiness-summary[b-j3nlwdlor1]
{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.85rem;
    border-radius: 0.5rem;
    font-size: 0.85rem;
    width: 100%;
}

.readiness-summary--ready[b-j3nlwdlor1] { background: #e8f8f1; color: #1a7f64; border: 1px solid #b0dfc8; }
.readiness-summary--moderate[b-j3nlwdlor1] { background: #fff8e1; color: #8a6d00; border: 1px solid #ffe082; }
.readiness-summary--low[b-j3nlwdlor1] { background: #fff3e0; color: #9a4700; border: 1px solid #ffcc80; }
.readiness-summary--not-ready[b-j3nlwdlor1] { background: #fde8e8; color: #b71c1c; border: 1px solid #f5a0a0; }

.readiness-summary__icon[b-j3nlwdlor1] { font-size: 1rem; }
.readiness-summary__label[b-j3nlwdlor1] { flex: 1; }
.readiness-summary__edit[b-j3nlwdlor1] { background: none; border: none; cursor: pointer; font-size: 0.9rem; opacity: 0.7; padding: 0; }
.readiness-summary__edit:hover[b-j3nlwdlor1] { opacity: 1; }

.readiness-panel[b-j3nlwdlor1]
{
    width: 100%;
    padding: 1rem;
    background: #f8fafc;
    border: 1px solid #d0d7de;
    border-radius: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.readiness-panel__title[b-j3nlwdlor1]
{
    margin: 0 0 0.25rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #24292f;
}

.readiness-panel__row[b-j3nlwdlor1]
{
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.readiness-panel__row label[b-j3nlwdlor1]
{
    min-width: 10rem;
    font-size: 0.85rem;
    color: #57606a;
}

.readiness-rating[b-j3nlwdlor1]
{
    display: flex;
    gap: 0.3rem;
}

.readiness-rating__btn[b-j3nlwdlor1]
{
    width: 2rem;
    height: 2rem;
    border: 1.5px solid #d0d7de;
    border-radius: 50%;
    background: #ffffff;
    color: #57606a;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.readiness-rating__btn:hover[b-j3nlwdlor1]
{
    background: #dff0ff;
    border-color: #539bf5;
    color: #0969da;
}

.readiness-rating__btn--active[b-j3nlwdlor1]
{
    background: #0969da;
    border-color: #0969da;
    color: #ffffff;
}

.readiness-panel__actions[b-j3nlwdlor1]
{
    display: flex;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

/* WE12 — Exercise substitution swap panel */

.strength-exercise-card__title[b-j3nlwdlor1]
{
    flex: 1;
    min-width: 0;
}

.exercise-swapped[b-j3nlwdlor1]
{
    font-weight: 600;
    color: #1a7f37;
}

.exercise-swapped__original[b-j3nlwdlor1]
{
    display: block;
    font-size: 0.75rem;
    color: #57606a;
    font-weight: 400;
    margin-top: 0.1rem;
}

.swap-btn[b-j3nlwdlor1]
{
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.65rem;
    border: 1px solid #0969da;
    border-radius: 2rem;
    background: #f6f8fa;
    color: #0969da;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}

.swap-btn:hover[b-j3nlwdlor1]
{
    background: #dbeafe;
}

.swap-btn--active[b-j3nlwdlor1]
{
    background: #dbeafe;
    border-color: #1d4ed8;
    color: #1d4ed8;
}

.swap-panel[b-j3nlwdlor1]
{
    margin-top: 0.75rem;
    border: 1px solid #cce5ff;
    border-radius: 0.65rem;
    padding: 0.75rem;
    background: #f0f7ff;
}

.swap-panel__label[b-j3nlwdlor1]
{
    font-size: 0.8rem;
    color: #0550ae;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.swap-panel__loading[b-j3nlwdlor1],
.swap-panel__empty[b-j3nlwdlor1]
{
    font-size: 0.82rem;
    color: #57606a;
}

.swap-panel__list[b-j3nlwdlor1]
{
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.swap-option[b-j3nlwdlor1]
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.45rem 0.75rem;
    border: 1px solid #b6d4fe;
    border-radius: 0.5rem;
    background: #ffffff;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s, border-color 0.15s;
}

.swap-option:hover[b-j3nlwdlor1]
{
    background: #e0edff;
    border-color: #0969da;
}

.swap-option__name[b-j3nlwdlor1]
{
    font-size: 0.88rem;
    font-weight: 500;
    color: #1f2328;
}

.swap-option__meta[b-j3nlwdlor1]
{
    font-size: 0.75rem;
    color: #57606a;
    margin-left: 1rem;
    white-space: nowrap;
}

/* ── WF10: Superset / Circuit grouping ─────────────────────────── */
.superset-group[b-j3nlwdlor1] {
    border: 2px solid #7c3aed;
    border-radius: 0.85rem;
    overflow: hidden;
}

.superset-group__header[b-j3nlwdlor1] {
    background: linear-gradient(90deg, #7c3aed 0%, #a855f7 100%);
    padding: 0.4rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.superset-group__label[b-j3nlwdlor1] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.superset-group__hint[b-j3nlwdlor1] {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.8);
}

.strength-exercise-card--grouped[b-j3nlwdlor1] {
    border: none;
    border-bottom: 1px solid #ede9fe;
    border-radius: 0;
    background: linear-gradient(180deg, #faf5ff 0%, #ffffff 100%);
}

.strength-exercise-card--grouped:last-child[b-j3nlwdlor1] {
    border-bottom: none;
}


/* ── WF17: In-session AI coach chat panel ─────────────────────── */
.session-chat-panel[b-j3nlwdlor1] {
    margin-top: 1rem;
    border: 1px solid #d0d7de;
    border-radius: 0.85rem;
    overflow: hidden;
    background: #f6f8fa;
}

.session-chat-toggle[b-j3nlwdlor1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0.65rem 1rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    color: #0969da;
    text-align: left;
    transition: background 0.15s;
}

.session-chat-toggle:hover[b-j3nlwdlor1] {
    background: #dbeafe;
}

.session-chat-toggle__hint[b-j3nlwdlor1] {
    font-size: 0.78rem;
    color: #57606a;
    font-weight: 400;
}

.session-chat-body[b-j3nlwdlor1] {
    padding: 0.75rem 1rem;
    border-top: 1px solid #d0d7de;
}

.chat-history[b-j3nlwdlor1] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    max-height: 320px;
    overflow-y: auto;
}

.chat-bubble[b-j3nlwdlor1] {
    padding: 0.55rem 0.85rem;
    border-radius: 0.65rem;
    font-size: 0.875rem;
    line-height: 1.5;
    max-width: 90%;
}

.chat-bubble--user[b-j3nlwdlor1] {
    background: #0969da;
    color: #ffffff;
    align-self: flex-end;
    border-bottom-right-radius: 0.2rem;
}

.chat-bubble--coach[b-j3nlwdlor1] {
    background: #ffffff;
    border: 1px solid #d0d7de;
    align-self: flex-start;
    border-bottom-left-radius: 0.2rem;
}

.chat-alternatives[b-j3nlwdlor1] {
    margin-top: 0.5rem;
    font-size: 0.82rem;
}

.chat-alt-item[b-j3nlwdlor1] {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    padding: 0.25rem 0;
    border-bottom: 1px solid #e8ecf0;
}

.chat-alt-item:last-child[b-j3nlwdlor1] { border-bottom: none; }

.chat-alt-name[b-j3nlwdlor1] { font-weight: 600; color: #1f2328; }
.chat-alt-sets[b-j3nlwdlor1] { color: #0969da; font-size: 0.78rem; }
.chat-alt-notes[b-j3nlwdlor1] { color: #57606a; font-size: 0.75rem; font-style: italic; }

.chat-safety-note[b-j3nlwdlor1] {
    margin-top: 0.5rem;
    padding: 0.4rem 0.65rem;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 0.45rem;
    font-size: 0.8rem;
    color: #8a6000;
}

.chat-input-row[b-j3nlwdlor1] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.chat-input[b-j3nlwdlor1] {
    flex: 1;
    padding: 0.45rem 0.75rem;
    border: 1px solid #d0d7de;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    color: #24292f;
    background: #ffffff;
}

.chat-input:focus[b-j3nlwdlor1] {
    outline: none;
    border-color: #539bf5;
    box-shadow: 0 0 0 3px rgba(83, 155, 245, 0.15);
}

.chat-error[b-j3nlwdlor1] {
    margin-top: 0.4rem;
    font-size: 0.8rem;
    color: #c62828;
}
/* /Pages/WorkoutPlan.razor.rz.scp.css */
/* ── WE16: Mesocycle phase strip ─────────────────────────────── */
.mesocycle-strip[b-ih3bhswit6]
{
    margin: 0.25rem 0 1.25rem;
}

.mesocycle-strip__phases[b-ih3bhswit6]
{
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
}

.mesocycle-strip__phase[b-ih3bhswit6]
{
    font-size: 0.75rem;
    font-weight: 500;
    color: #6c757d;
    padding: 0.2rem 0.6rem;
    border-radius: 1rem;
    background: #f3f4f6;
}

.mesocycle-strip__phase--active[b-ih3bhswit6]
{
    color: #ffffff;
    background: #1a7f64;
}

.mesocycle-strip__bar[b-ih3bhswit6]
{
    height: 6px;
    border-radius: 3px;
    background: #e1e8f0;
    overflow: hidden;
    margin-bottom: 0.35rem;
}

.mesocycle-strip__fill[b-ih3bhswit6]
{
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, #1a7f64, #2da67f);
    transition: width 0.4s ease;
}

.mesocycle-strip__fill--overreach[b-ih3bhswit6]
{
    background: linear-gradient(90deg, #d97706, #f59e0b);
}
/* /Pages/WorkoutTemplates.razor.rz.scp.css */
.template-filter-card[b-62182h8qkf] {
    margin-bottom: 1rem;
}

.template-filters[b-62182h8qkf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
}

.template-grid[b-62182h8qkf] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.template-card[b-62182h8qkf] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.15s;
}

.template-card--open[b-62182h8qkf] {
    border-color: #2563eb;
}

.template-card__header[b-62182h8qkf] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1rem 1.25rem 0.6rem;
    cursor: pointer;
    gap: 1rem;
}

.template-card__header:hover[b-62182h8qkf] {
    background: #f1f5f9;
}

.template-card__name[b-62182h8qkf] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.2rem;
    color: #1e293b;
}

.template-card__desc[b-62182h8qkf] {
    font-size: 0.875rem;
    color: #475569;
    margin: 0;
}

.template-card__chevron[b-62182h8qkf] {
    font-size: 0.8rem;
    color: #94a3b8;
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.template-card__meta[b-62182h8qkf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0 1.25rem 0.75rem;
}

.template-badge[b-62182h8qkf] {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 500;
    background: #e2e8f0;
    color: #475569;
}

.template-badge--level[b-62182h8qkf] {
    background: #dbeafe;
    color: #1d4ed8;
}

.template-badge--goal[b-62182h8qkf] {
    background: #dcfce7;
    color: #15803d;
}

.template-badge--tag[b-62182h8qkf] {
    background: #f1f5f9;
    color: #64748b;
}

.template-structure[b-62182h8qkf] {
    padding: 0.75rem 1.25rem 1rem;
    border-top: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.template-day__name[b-62182h8qkf] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #334155;
    margin: 0 0 0.4rem;
}

.template-exercise-table[b-62182h8qkf] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.template-exercise-table th[b-62182h8qkf] {
    text-align: left;
    padding: 0.3rem 0.5rem;
    background: #f1f5f9;
    font-weight: 600;
    color: #475569;
    border-bottom: 1px solid #e2e8f0;
}

.template-exercise-table td[b-62182h8qkf] {
    padding: 0.3rem 0.5rem;
    border-bottom: 1px solid #f1f5f9;
    color: #1e293b;
}

.template-exercise-table tr:last-child td[b-62182h8qkf] {
    border-bottom: none;
}

.template-loading[b-62182h8qkf] {
    padding: 0.75rem 1.25rem 1rem;
    border-top: 1px solid #e2e8f0;
}
