/* ── Training Webapp — Custom Styles ─────────────────────────────────────── */

:root {
    --tw-accent: #f59e0b;   /* amber */
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f8f9fa;
}

[data-bs-theme="dark"] body {
    background-color: #212529;
}

main.container {
    flex: 1;
}

/* ── Cards ───────────────────────────────────────────────────────────────── */
.card {
    border: none;
    border-radius: .75rem;
}

/* ── Workout sections ────────────────────────────────────────────────────── */
.workout-section-badge {
    font-size: .7rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 600;
}

/* ── Rating stars ────────────────────────────────────────────────────────── */
.star-rating label {
    cursor: pointer;
    font-size: 1.5rem;
    color: #dee2e6;
    transition: color .15s;
}
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: var(--tw-accent);
}
.star-rating {
    display: flex;
    flex-direction: row-reverse;
    width: fit-content;
}

/* ── Day cards on weekly overview ───────────────────────────────────────── */
.day-card.is-today {
    border-left: 4px solid var(--tw-accent);
}
.day-card.is-completed {
    opacity: .75;
}

/* ── Block progress bar ──────────────────────────────────────────────────── */
.progress-block .progress-bar {
    background-color: var(--tw-accent);
}
/* ── Calendar ────────────────────────────────────────────────────────────────────── */
.calendar-table td {
    height: 3.5rem;
    vertical-align: middle;
    position: relative;
}
.cal-cell { cursor: default; }
.cal-empty { background: transparent; }
.cal-day-num { font-weight: 500; font-size: .85rem; }
.cal-done { background-color: rgba(25, 135, 84, .15); }
.cal-generated { background-color: rgba(13, 110, 253, .12); }
.cal-low { background-color: rgba(220, 53, 69, .15) !important; }
.cal-today { border: 2px solid var(--tw-accent) !important; }
.cal-link { position: absolute; inset: 0; }

.cal-legend {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 3px;
    margin-right: 4px;
    vertical-align: middle;
}
.cal-legend-done { background-color: rgba(25, 135, 84, .4); }
.cal-legend-generated { background-color: rgba(13, 110, 253, .3); }
.cal-legend-low { background-color: rgba(220, 53, 69, .4); }
.cal-legend-today { border: 2px solid var(--tw-accent); }