:root {
    --exercise-navy: #071a62;
    --exercise-blue: #1d4ed8;
    --exercise-blue-soft: #e8efff;
    --exercise-green: #15803d;
    --exercise-green-soft: #f0fdf4;
    --exercise-amber: #b45309;
    --exercise-amber-soft: #fff7ed;
    --exercise-red: #b91c1c;
    --exercise-red-soft: #fef2f2;
    --exercise-slate-950: #0f172a;
    --exercise-slate-700: #334155;
    --exercise-slate-500: #64748b;
    --exercise-slate-300: #cbd5e1;
    --exercise-slate-200: #e2e8f0;
    --exercise-slate-100: #f1f5f9;
    --exercise-slate-50: #f8fafc;
    --exercise-white: #ffffff;
    --exercise-radius-lg: 18px;
    --exercise-radius-md: 12px;
    --exercise-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
}

* {
    box-sizing: border-box;
}

body.exercise-workspace-body {
    margin: 0;
    background: var(--exercise-slate-50);
    color: var(--exercise-slate-950);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.exercise-workspace {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto;
    padding: 28px 0 56px;
}

.exercise-workspace a {
    color: inherit;
}

.exercise-workspace__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.exercise-workspace__brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.exercise-workspace__brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: var(--exercise-navy);
    color: var(--exercise-white);
    font-weight: 800;
}

.exercise-workspace__brand-copy strong,
.exercise-workspace__brand-copy span {
    display: block;
}

.exercise-workspace__brand-copy span {
    color: var(--exercise-slate-500);
    font-size: 0.82rem;
}

.exercise-workspace__hero {
    padding: 28px;
    border-radius: var(--exercise-radius-lg);
    background:
        radial-gradient(
            circle at top right,
            rgba(96, 165, 250, 0.32),
            transparent 36%
        ),
        linear-gradient(135deg, #071a62, #12339b);
    color: var(--exercise-white);
    box-shadow: var(--exercise-shadow);
}

.exercise-workspace__hero-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.exercise-workspace__hero h1 {
    margin: 8px 0;
    font-size: clamp(1.75rem, 4vw, 2.6rem);
    line-height: 1.12;
}

.exercise-workspace__hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.6;
}

.exercise-workspace__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
    gap: 22px;
    margin-top: 22px;
}

.exercise-workspace__stack {
    display: grid;
    align-content: start;
    gap: 22px;
}

.exercise-card {
    padding: 22px;
    border: 1px solid var(--exercise-slate-200);
    border-radius: var(--exercise-radius-lg);
    background: var(--exercise-white);
    box-shadow: var(--exercise-shadow);
}

.exercise-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.exercise-card__header h2,
.exercise-card__header h3 {
    margin: 0;
}

.exercise-card__eyebrow {
    margin: 0 0 5px;
    color: var(--exercise-slate-500);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.exercise-card__description {
    margin: 6px 0 0;
    color: var(--exercise-slate-500);
    line-height: 1.5;
}

.exercise-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--exercise-blue-soft);
    color: var(--exercise-navy);
    font-size: 0.78rem;
    font-weight: 800;
}

.exercise-badge--hero {
    background: rgba(255, 255, 255, 0.16);
    color: var(--exercise-white);
}

.exercise-badge--success {
    background: var(--exercise-green-soft);
    color: var(--exercise-green);
}

.exercise-badge--warning {
    background: var(--exercise-amber-soft);
    color: var(--exercise-amber);
}

.exercise-badge--danger {
    background: var(--exercise-red-soft);
    color: var(--exercise-red);
}

.exercise-status-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: currentColor;
}

.exercise-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.exercise-metric {
    min-width: 0;
    padding: 14px;
    border-radius: var(--exercise-radius-md);
    background: var(--exercise-slate-100);
}

.exercise-metric__label {
    display: block;
    color: var(--exercise-slate-500);
    font-size: 0.78rem;
    font-weight: 700;
}

.exercise-metric__value {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    font-size: 1.25rem;
    font-weight: 800;
}

.exercise-progress {
    height: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
}

.exercise-progress__bar {
    min-width: 0;
    height: 100%;
    border-radius: inherit;
    background: #4ade80;
    transition: width 220ms ease;
}

.exercise-progress__caption {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-top: 9px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
}

.exercise-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: var(--exercise-navy);
    color: var(--exercise-white) !important;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.exercise-button:hover {
    filter: brightness(1.08);
}

.exercise-button--secondary {
    background: var(--exercise-slate-700);
}

.exercise-button--outline {
    border-color: var(--exercise-slate-300);
    background: var(--exercise-white);
    color: var(--exercise-slate-700) !important;
}

.exercise-button--danger {
    background: var(--exercise-red);
}

.exercise-button[disabled],
.exercise-button[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.5;
}

.exercise-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
}

.exercise-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
}

.exercise-workspace label {
    display: block;
    margin-bottom: 6px;
    font-weight: 750;
}

.exercise-workspace input,
.exercise-workspace select,
.exercise-workspace textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--exercise-slate-300);
    border-radius: 10px;
    background: var(--exercise-white);
    color: var(--exercise-slate-950);
    font: inherit;
}

.exercise-workspace input:focus,
.exercise-workspace select:focus,
.exercise-workspace textarea:focus {
    border-color: var(--exercise-blue);
    outline: 3px solid rgba(29, 78, 216, 0.12);
}

.exercise-workspace input[type="checkbox"] {
    width: auto;
}

.exercise-alert {
    padding: 18px;
    border: 1px solid var(--exercise-slate-200);
    border-radius: var(--exercise-radius-md);
}

.exercise-alert--success {
    border-color: #86efac;
    background: var(--exercise-green-soft);
}

.exercise-alert--warning {
    border-color: #fdba74;
    background: var(--exercise-amber-soft);
}

.exercise-alert--danger {
    border-color: #fca5a5;
    background: var(--exercise-red-soft);
}

.exercise-muted {
    color: var(--exercise-slate-500);
}

.exercise-small {
    font-size: 0.86rem;
}

.exercise-hidden {
    display: none;
}

@media (max-width: 960px) {
    .exercise-workspace__layout {
        grid-template-columns: 1fr;
    }

    .exercise-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .exercise-workspace {
        width: min(100% - 24px, 1240px);
        padding-top: 18px;
    }

    .exercise-workspace__toolbar,
    .exercise-workspace__hero-topline {
        align-items: stretch;
        flex-direction: column;
    }

    .exercise-workspace__hero,
    .exercise-card {
        padding: 18px;
    }

    .exercise-metric-grid,
    .exercise-field-grid,
    .exercise-checkbox-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   Professional Exercise Command Center
   ========================================================== */

.exercise-command-center {
    width: min(1480px, calc(100% - 40px));
    margin: 28px auto;
    padding: 28px;
    border: 1px solid var(--exercise-slate-200);
    border-radius: var(--exercise-radius-lg);
    background: var(--exercise-white);
    box-shadow: var(--exercise-shadow);
}

.exercise-command-center__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.exercise-command-center__header h2 {
    margin: 0;
    color: var(--exercise-slate-950);
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.exercise-command-center__description {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--exercise-slate-500);
    line-height: 1.55;
}

.exercise-command-center__status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 13px;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    background: var(--exercise-green-soft);
    color: var(--exercise-green);
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.exercise-live-indicator {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--exercise-green);
    box-shadow: 0 0 0 5px rgba(21, 128, 61, 0.12);
}

.exercise-command-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.exercise-command-summary__item {
    padding: 15px 16px;
    border: 1px solid var(--exercise-slate-200);
    border-radius: var(--exercise-radius-md);
    background: var(--exercise-slate-50);
}

.exercise-command-summary__item--warning {
    border-color: #fed7aa;
    background: var(--exercise-amber-soft);
}

.exercise-command-summary__item--danger {
    border-color: #fecaca;
    background: var(--exercise-red-soft);
}

.exercise-command-summary__label {
    display: block;
    color: var(--exercise-slate-500);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-command-summary__value {
    display: block;
    margin-top: 5px;
    font-size: 1.65rem;
    line-height: 1;
}

.exercise-attention-queue {
    margin-bottom: 24px;
    padding: 18px;
    border: 1px solid #fed7aa;
    border-radius: var(--exercise-radius-md);
    background: linear-gradient(135deg, #fffaf5, #fff7ed);
}

.exercise-attention-queue__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.exercise-attention-queue__heading h3 {
    margin: 0;
}

.exercise-attention-count {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--exercise-amber);
    color: var(--exercise-white);
    font-weight: 900;
}

.exercise-attention-queue__items {
    display: grid;
    gap: 9px;
}

.exercise-attention-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--exercise-slate-200);
    border-radius: 10px;
    background: var(--exercise-white);
    color: inherit;
    text-decoration: none;
}

.exercise-attention-item:hover {
    border-color: var(--exercise-blue);
    box-shadow: 0 5px 18px rgba(15, 23, 42, 0.08);
}

.exercise-attention-item--critical {
    border-left: 5px solid var(--exercise-red);
}

.exercise-attention-item--warning {
    border-left: 5px solid var(--exercise-amber);
}

.exercise-attention-item__indicator {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--exercise-green);
}

.exercise-attention-item__indicator--yellow {
    background: var(--exercise-amber);
}

.exercise-attention-item__indicator--red {
    background: var(--exercise-red);
}

.exercise-attention-item__content {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.exercise-attention-item__content span,
.exercise-attention-item__content small {
    color: var(--exercise-slate-500);
}

.exercise-attention-item__action {
    color: var(--exercise-blue);
    font-size: 0.82rem;
    font-weight: 800;
}

.exercise-command-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.exercise-command-card {
    overflow: hidden;
    border: 1px solid var(--exercise-slate-200);
    border-radius: var(--exercise-radius-lg);
    background: var(--exercise-white);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.exercise-command-card--green {
    border-color: #bbf7d0;
}

.exercise-command-card--yellow {
    border-color: #fdba74;
}

.exercise-command-card--red {
    border-color: #fca5a5;
}

.exercise-safety-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 16px;
    font-size: 0.8rem;
}

.exercise-safety-banner--green {
    background: var(--exercise-green-soft);
    color: var(--exercise-green);
}

.exercise-safety-banner--yellow {
    background: var(--exercise-amber-soft);
    color: var(--exercise-amber);
}

.exercise-safety-banner--red {
    background: var(--exercise-red-soft);
    color: var(--exercise-red);
}

.exercise-safety-banner__state {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.exercise-safety-banner__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
}

.exercise-safety-banner__zone {
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-command-card__body {
    padding: 20px;
}

.exercise-command-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 17px;
}

.exercise-command-card__patient {
    color: var(--exercise-slate-950);
    font-size: 1.2rem;
    font-weight: 900;
    text-decoration: none;
}

.exercise-command-card__patient:hover {
    color: var(--exercise-blue);
}

.exercise-command-card__activity {
    margin: 4px 0 0;
    color: var(--exercise-slate-500);
    font-size: 0.9rem;
}

.exercise-command-card__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.exercise-command-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 16px;
}

.exercise-command-metric {
    min-width: 0;
    padding: 12px;
    border-radius: 10px;
    background: var(--exercise-slate-100);
}

.exercise-command-metric span,
.exercise-command-metric small {
    display: block;
    color: var(--exercise-slate-500);
    font-size: 0.7rem;
}

.exercise-command-metric span {
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.exercise-command-metric strong {
    display: block;
    margin: 4px 0 2px;
    overflow-wrap: anywhere;
    font-size: 1.2rem;
}

.exercise-command-metric__status {
    font-size: 0.9rem !important;
}

.exercise-ai-instruction {
    padding: 17px;
    border: 1px solid #bfdbfe;
    border-radius: var(--exercise-radius-md);
    background:
        radial-gradient(
            circle at top right,
            rgba(96, 165, 250, 0.18),
            transparent 40%
        ),
        #eff6ff;
}

.exercise-ai-instruction__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.exercise-ai-instruction__header h3 {
    margin: 0;
    font-size: 1.05rem;
}

.exercise-ai-instruction__message {
    margin: 11px 0 0;
    color: var(--exercise-slate-700);
    font-weight: 700;
    line-height: 1.5;
}

.exercise-ai-instruction__coaching {
    margin: 10px 0 0;
    color: var(--exercise-blue);
    font-size: 0.88rem;
    line-height: 1.45;
}

.exercise-instruction-status {
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--exercise-blue-soft);
    color: var(--exercise-navy);
    font-size: 0.7rem;
    font-weight: 900;
    white-space: nowrap;
}

.exercise-instruction-status--confirmed,
.exercise-instruction-status--delivered,
.exercise-instruction-status--acknowledged {
    background: var(--exercise-green-soft);
    color: var(--exercise-green);
}

.exercise-instruction-status--awaiting_confirmation {
    background: var(--exercise-amber-soft);
    color: var(--exercise-amber);
}

.exercise-instruction-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 15px 0 0;
}

.exercise-instruction-details div {
    padding-top: 10px;
    border-top: 1px solid rgba(29, 78, 216, 0.16);
}

.exercise-instruction-details dt {
    color: var(--exercise-slate-500);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.exercise-instruction-details dd {
    margin: 4px 0 0;
    color: var(--exercise-slate-700);
    font-size: 0.8rem;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.exercise-clinical-state {
    margin-top: 15px;
}

.exercise-clinical-state__label {
    display: block;
    margin-bottom: 7px;
    color: var(--exercise-slate-500);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-symptom-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.exercise-symptom-chip {
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--exercise-red-soft);
    color: var(--exercise-red);
    font-size: 0.75rem;
    font-weight: 800;
}

.exercise-symptom-chip--clear {
    background: var(--exercise-green-soft);
    color: var(--exercise-green);
}

.exercise-command-card__footer {
    display: grid;
    gap: 13px;
    margin-top: 17px;
    padding-top: 16px;
    border-top: 1px solid var(--exercise-slate-200);
}

.exercise-command-card__open {
    color: var(--exercise-blue);
    font-size: 0.85rem;
    font-weight: 850;
    text-decoration: none;
}

.exercise-command-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
}

.exercise-command-action {
    min-height: 36px;
    padding: 7px 8px;
    border: 1px solid var(--exercise-slate-300);
    border-radius: 8px;
    background: var(--exercise-white);
    color: var(--exercise-slate-700);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 850;
    cursor: pointer;
}

.exercise-command-action:hover:not(:disabled) {
    border-color: var(--exercise-blue);
    color: var(--exercise-blue);
}

.exercise-command-action--primary {
    border-color: var(--exercise-blue);
    background: var(--exercise-blue);
    color: var(--exercise-white);
}

.exercise-command-action--warning {
    border-color: #fdba74;
    color: var(--exercise-amber);
}

.exercise-command-action--danger {
    border-color: #fca5a5;
    color: var(--exercise-red);
}

.exercise-command-action:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.exercise-command-center__empty {
    display: grid;
    gap: 5px;
    padding: 32px;
    border: 1px dashed var(--exercise-slate-300);
    border-radius: var(--exercise-radius-md);
    background: var(--exercise-slate-50);
    color: var(--exercise-slate-500);
    text-align: center;
}

.exercise-command-center__empty strong {
    color: var(--exercise-slate-700);
}

@media (max-width: 1120px) {
    .exercise-command-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .exercise-command-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .exercise-command-center {
        width: min(100% - 24px, 1480px);
        padding: 18px;
    }

    .exercise-command-center__header,
    .exercise-command-card__header,
    .exercise-ai-instruction__header {
        align-items: stretch;
        flex-direction: column;
    }

    .exercise-command-card__badges {
        justify-content: flex-start;
    }

    .exercise-command-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exercise-command-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exercise-instruction-details {
        grid-template-columns: 1fr;
    }

    .exercise-command-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 440px) {
    .exercise-command-summary,
    .exercise-command-metrics,
    .exercise-command-actions {
        grid-template-columns: 1fr;
    }

    .exercise-attention-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .exercise-attention-item__action {
        display: none;
    }
}

/* ==========================================================
   Professional Monitoring Stations
   ========================================================== */

.exercise-command-card--available {
    min-height: 360px;
    border: 2px dashed var(--exercise-slate-300);
    background: var(--exercise-slate-50);
    box-shadow: none;
}

.exercise-monitoring-station__label {
    padding: 11px 16px;
    border-bottom: 1px solid var(--exercise-slate-200);
    color: var(--exercise-slate-500);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-monitoring-station__empty {
    display: grid;
    min-height: 300px;
    place-content: center;
    justify-items: center;
    gap: 10px;
    padding: 32px;
    color: var(--exercise-slate-500);
    text-align: center;
}

.exercise-monitoring-station__empty strong {
    color: var(--exercise-slate-700);
    font-size: 1rem;
}

.exercise-monitoring-station__empty p {
    max-width: 340px;
    margin: 0;
    line-height: 1.55;
}

.exercise-monitoring-station__icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid var(--exercise-slate-300);
    border-radius: 50%;
    background: var(--exercise-white);
    color: var(--exercise-slate-500);
    font-size: 1.55rem;
    font-weight: 500;
}


/* ==========================================================
   Exercise Intelligence patient session
   ========================================================== */

.exercise-current-activity__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.35fr);
    gap: 1.25rem;
    align-items: stretch;
    margin-top: 1.25rem;
}

.exercise-current-activity__primary,
.exercise-duration-card {
    border: 1px solid #dbe3ea;
    border-radius: 16px;
    padding: 1.25rem;
    background: #f8fafc;
}

.exercise-current-activity__modality {
    display: block;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 750;
    line-height: 1.1;
    color: #17212b;
}

.exercise-current-activity__instruction {
    margin: 0.7rem 0 0;
    color: #52606d;
    font-size: 1rem;
}

.exercise-duration-card {
    text-align: center;
}

.exercise-duration-card__label,
.exercise-duration-card__unit {
    display: block;
    color: #607080;
}

.exercise-duration-card__value {
    display: block;
    margin: 0.35rem 0;
    font-size: 2.4rem;
    line-height: 1;
    color: #17212b;
}

.exercise-phase-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: #eaf2f8;
    color: #294b63;
    font-size: 0.82rem;
    font-weight: 700;
}

.exercise-progress-summary {
    margin-top: 1.25rem;
}

.exercise-progress-summary__labels {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
    color: #52606d;
    font-size: 0.9rem;
}

.exercise-progress-track {
    overflow: hidden;
    height: 10px;
    border-radius: 999px;
    background: #e2e8ee;
}

.exercise-progress-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #2d607f;
    transition: width 180ms ease;
}

.exercise-intensity__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.exercise-intensity-metric {
    border: 2px solid #d8e0e7;
    border-radius: 18px;
    padding: 1.25rem;
    background: #ffffff;
}

.exercise-intensity-metric--in_target,
.exercise-intensity-metric--within_target {
    border-color: #8bc4a2;
    background: #f3faf6;
}

.exercise-intensity-metric--below_target,
.exercise-intensity-metric--above_target {
    border-color: #e0bb70;
    background: #fffaf0;
}

.exercise-intensity-metric__header,
.exercise-intensity-metric__measurement {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.exercise-intensity-metric__header {
    align-items: center;
}

.exercise-intensity-metric__measurement {
    align-items: end;
    margin-top: 1.5rem;
}

.exercise-intensity-metric__name {
    font-size: 1.05rem;
    font-weight: 750;
    color: #263442;
}

.exercise-intensity-metric__label {
    display: block;
    margin-bottom: 0.3rem;
    color: #687785;
    font-size: 0.8rem;
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.exercise-intensity-metric__value {
    font-size: clamp(2.1rem, 6vw, 3.2rem);
    line-height: 1;
    color: #15212b;
}

.exercise-intensity-metric__unit {
    color: #52606d;
    font-weight: 650;
}

.exercise-intensity-metric__target {
    text-align: right;
}

.exercise-intensity-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: #edf1f4;
    color: #536271;
    font-size: 0.78rem;
    font-weight: 750;
}

.exercise-intensity-status--in_target,
.exercise-intensity-status--within_target {
    background: #dcefe4;
    color: #24613d;
}

.exercise-intensity-status--below_target,
.exercise-intensity-status--above_target {
    background: #f8e8c6;
    color: #79520c;
}

.exercise-assessment {
    border-left: 6px solid #7f99aa;
}

.exercise-assessment--green {
    border-left-color: #4d9a6a;
}

.exercise-assessment--yellow {
    border-left-color: #d39b32;
}

.exercise-assessment--red {
    border-left-color: #b94646;
}

.exercise-recommendation {
    margin-top: 1rem;
    padding: 1.25rem;
    border-radius: 16px;
    background: #f3f6f8;
}

.exercise-recommendation__action {
    display: block;
    font-size: clamp(1.35rem, 4vw, 2rem);
    line-height: 1.2;
    color: #17212b;
}

.exercise-recommendation__message {
    margin: 0.7rem 0 0;
    color: #465563;
    font-size: 1rem;
    line-height: 1.6;
}

.exercise-assessment-findings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

.exercise-assessment-finding {
    padding: 0.9rem;
    border: 1px solid #dfe5ea;
    border-radius: 12px;
    background: #ffffff;
}

.exercise-assessment-finding__label {
    display: block;
    margin-bottom: 0.25rem;
    color: #687785;
    font-size: 0.78rem;
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.exercise-clinical-interpretation {
    margin: 1rem 0 0;
    color: #52606d;
    line-height: 1.6;
}

@media (max-width: 760px) {
    .exercise-current-activity__body,
    .exercise-intensity__grid,
    .exercise-assessment-findings {
        grid-template-columns: 1fr;
    }

    .exercise-intensity-metric__measurement {
        align-items: start;
    }
}


/* ==========================================================
   Patient Exercise Intelligence workspace
   ========================================================== */

.exercise-current-activity__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 0.34fr);
    gap: 1.25rem;
    align-items: stretch;
    margin-top: 1.25rem;
}

.exercise-current-activity__primary,
.exercise-duration-card {
    border: 1px solid #dbe3ea;
    border-radius: 16px;
    padding: 1.25rem;
    background: #f8fafc;
}

.exercise-current-activity__modality {
    display: block;
    color: #17212b;
    font-size: clamp(1.7rem, 4vw, 2.5rem);
    font-weight: 750;
    line-height: 1.1;
}

.exercise-current-activity__instruction {
    margin: 0.75rem 0 0;
    color: #52606d;
    font-size: 1rem;
    line-height: 1.55;
}

.exercise-duration-card {
    text-align: center;
}

.exercise-duration-card__label,
.exercise-duration-card__unit {
    display: block;
    color: #607080;
}

.exercise-duration-card__value {
    display: block;
    margin: 0.4rem 0;
    color: #17212b;
    font-size: 2.5rem;
    line-height: 1;
}

.exercise-phase-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: #eaf2f8;
    color: #294b63;
    font-size: 0.82rem;
    font-weight: 700;
}

.exercise-progress-summary {
    margin-top: 1.25rem;
}

.exercise-progress-summary__labels {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
    color: #52606d;
    font-size: 0.9rem;
}

.exercise-progress-track {
    overflow: hidden;
    height: 10px;
    border-radius: 999px;
    background: #e2e8ee;
}

.exercise-progress-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #2d607f;
    transition: width 180ms ease;
}

.exercise-intensity__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.exercise-intensity-metric {
    border: 2px solid #d8e0e7;
    border-radius: 18px;
    padding: 1.25rem;
    background: #ffffff;
}

.exercise-intensity-metric--in_target,
.exercise-intensity-metric--within_target {
    border-color: #8bc4a2;
    background: #f3faf6;
}

.exercise-intensity-metric--below_target,
.exercise-intensity-metric--above_target {
    border-color: #e0bb70;
    background: #fffaf0;
}

.exercise-intensity-metric__header,
.exercise-intensity-metric__measurement {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.exercise-intensity-metric__header {
    align-items: center;
}

.exercise-intensity-metric__measurement {
    align-items: end;
    margin-top: 1.5rem;
}

.exercise-intensity-metric__name {
    color: #263442;
    font-size: 1.05rem;
    font-weight: 750;
}

.exercise-intensity-metric__label {
    display: block;
    margin-bottom: 0.3rem;
    color: #687785;
    font-size: 0.78rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-intensity-metric__value {
    color: #15212b;
    font-size: clamp(2.2rem, 6vw, 3.3rem);
    line-height: 1;
}

.exercise-intensity-metric__unit {
    color: #52606d;
    font-weight: 650;
}

.exercise-intensity-metric__target {
    text-align: right;
}

.exercise-intensity-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: #edf1f4;
    color: #536271;
    font-size: 0.78rem;
    font-weight: 750;
}

.exercise-intensity-status--in_target,
.exercise-intensity-status--within_target {
    background: #dcefe4;
    color: #24613d;
}

.exercise-intensity-status--below_target,
.exercise-intensity-status--above_target {
    background: #f8e8c6;
    color: #79520c;
}

.exercise-symptoms__clear {
    margin: 1rem 0 0;
    padding: 1rem;
    border-radius: 12px;
    background: #f3faf6;
    color: #285d3d;
    font-weight: 650;
}

.exercise-symptom-list {
    margin: 1rem 0 0;
    padding-left: 1.25rem;
}

.exercise-symptom-list li + li {
    margin-top: 0.45rem;
}

.exercise-assessment {
    border-left: 6px solid #7f99aa;
}

.exercise-assessment--green {
    border-left-color: #4d9a6a;
}

.exercise-assessment--yellow {
    border-left-color: #d39b32;
}

.exercise-assessment--red {
    border-left-color: #b94646;
}

.exercise-recommendation {
    margin-top: 1rem;
    padding: 1.25rem;
    border-radius: 16px;
    background: #f3f6f8;
}

.exercise-recommendation__action {
    display: block;
    color: #17212b;
    font-size: clamp(1.4rem, 4vw, 2rem);
    line-height: 1.2;
}

.exercise-recommendation__message {
    margin: 0.75rem 0 0;
    color: #465563;
    font-size: 1rem;
    line-height: 1.6;
}

.exercise-assessment-findings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

.exercise-assessment-finding {
    padding: 0.9rem;
    border: 1px solid #dfe5ea;
    border-radius: 12px;
    background: #ffffff;
}

.exercise-assessment-finding__label {
    display: block;
    margin-bottom: 0.25rem;
    color: #687785;
    font-size: 0.78rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-clinical-interpretation {
    margin: 1rem 0 0;
    color: #52606d;
    line-height: 1.6;
}

.exercise-check-in-form {
    margin-top: 1rem;
}

.exercise-form-field + .exercise-form-field {
    margin-top: 1rem;
}

.exercise-form-field small {
    display: block;
    margin-top: 0.3rem;
    color: #687785;
}

.exercise-primary-action {
    width: 100%;
    margin-top: 1.25rem;
}

@media (max-width: 760px) {
    .exercise-current-activity__body,
    .exercise-intensity__grid,
    .exercise-assessment-findings {
        grid-template-columns: 1fr;
    }

    .exercise-intensity-metric__measurement {
        align-items: start;
    }
}


/* ==========================================================
   Patient session refinement
   ========================================================== */

.exercise-session-overview__progress {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.exercise-session-overview__progress-label {
    color: #5c6b78;
}

.exercise-session-overview__details {
    display: grid;
    gap: 0;
    margin: 1.25rem 0 0;
}

.exercise-session-overview__details div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 0;
    border-bottom: 1px solid #e3e8ec;
}

.exercise-session-overview__details div:last-child {
    border-bottom: 0;
}

.exercise-session-overview__details dt {
    color: #687785;
}

.exercise-session-overview__details dd {
    margin: 0;
    color: #263442;
    font-weight: 700;
    text-align: right;
}

.exercise-session-alert {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 12px;
}

.exercise-session-alert strong {
    display: block;
}

.exercise-session-alert p {
    margin: 0.35rem 0 0;
}

.exercise-session-alert--danger {
    background: #fff0f0;
    color: #812f2f;
}

.exercise-symptoms {
    position: relative;
}

.exercise-symptoms--clear {
    border-left: 6px solid #4d9a6a;
}

.exercise-symptoms--reported {
    border-left: 6px solid #d39b32;
}

.exercise-symptoms__instruction {
    margin: 1rem 0 0;
    color: #73510f;
    font-weight: 700;
}

.exercise-symptoms__clear-message,
.exercise-check-in__complete {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 14px;
    background: #f3faf6;
}

.exercise-symptoms__clear-message strong,
.exercise-check-in__complete strong {
    display: block;
    color: #285d3d;
}

.exercise-symptoms__clear-message p,
.exercise-check-in__complete p {
    margin: 0.25rem 0 0;
    color: #526b5c;
}

.exercise-symptoms__icon,
.exercise-check-in__complete > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #dcefe4;
    color: #24613d;
    font-weight: 800;
}

.exercise-symptom-list {
    display: grid;
    gap: 0.6rem;
    padding: 0;
    list-style: none;
}

.exercise-symptom-list li {
    display: flex;
    gap: 0.65rem;
    align-items: center;
    padding: 0.8rem 0.9rem;
    border-radius: 10px;
    background: #fff7e8;
    color: #73510f;
    font-weight: 700;
}

.exercise-symptom-list li span {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #f2d28f;
    font-size: 0.8rem;
}

.exercise-recommendation {
    border: 1px solid transparent;
}

.exercise-recommendation--green {
    border-color: #add3bb;
    background: #f3faf6;
}

.exercise-recommendation--yellow {
    border-color: #e4c27e;
    background: #fff9ed;
}

.exercise-recommendation--red {
    border-color: #dfaaaa;
    background: #fff1f1;
}

.exercise-recommendation__label {
    display: block;
    margin-bottom: 0.4rem;
    color: #687785;
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.exercise-assessment-finding small {
    display: block;
    margin-top: 0.35rem;
    color: #687785;
    line-height: 1.4;
}

.exercise-recommendation-details {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #dfe5ea;
}

.exercise-recommendation-details summary {
    color: #315d78;
    font-weight: 700;
    cursor: pointer;
}

.exercise-recommendation-details p {
    margin: 0.75rem 0 0;
    color: #52606d;
    line-height: 1.6;
}

.exercise-form-field--error input,
.exercise-form-field--error select,
.exercise-form-field--error textarea {
    border-color: #b94646;
}

.exercise-form-field__error {
    margin: 0.35rem 0 0;
    color: #a03434;
    font-size: 0.88rem;
    font-weight: 650;
}

.exercise-form-field__help {
    line-height: 1.45;
}

@media (max-width: 760px) {
    .exercise-session-overview__details div {
        display: block;
    }

    .exercise-session-overview__details dd {
        margin-top: 0.25rem;
        text-align: left;
    }
}


/* ==========================================================
   Persistent pre-exercise starting point
   ========================================================== */

.exercise-sidebar-sticky {
    display: grid;
    gap: 1rem;
}

.exercise-starting-point {
    border-top: 5px solid #315f7a;
}

.exercise-starting-point__metrics {
    display: grid;
    gap: 0;
    margin: 1rem 0 0;
}

.exercise-starting-point__metric {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
    padding: 0.85rem 0;
    border-bottom: 1px solid #e2e8ed;
}

.exercise-starting-point__metric:last-child {
    border-bottom: 0;
}

.exercise-starting-point__metric dt {
    display: flex;
    gap: 0.65rem;
    align-items: center;
    color: #667584;
    line-height: 1.35;
}

.exercise-starting-point__metric dd {
    margin: 0;
    color: #263442;
    font-weight: 750;
    text-align: right;
}

.exercise-starting-point__icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: #eaf2f7;
    color: #294f68;
    font-size: 0.72rem;
    font-weight: 800;
}

.exercise-starting-point__value--success {
    color: #286141 !important;
}

.exercise-starting-point__value--warning {
    color: #995b13 !important;
}

.exercise-starting-point__time {
    margin: 0.75rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px solid #e2e8ed;
    color: #74818d;
    font-size: 0.82rem;
    text-align: right;
}

.exercise-badge--neutral {
    background: #eaf0f4;
    color: #526575;
}

@media (min-width: 961px) {
    .exercise-sidebar-sticky {
        position: sticky;
        top: 1rem;
        z-index: 5;
    }
}

@media (max-width: 960px) {
    .exercise-sidebar-sticky {
        position: static;
    }
}

@media (max-width: 520px) {
    .exercise-starting-point__metric {
        grid-template-columns: 1fr;
    }

    .exercise-starting-point__metric dd {
        padding-left: 2.6rem;
        text-align: left;
    }

    .exercise-starting-point__time {
        text-align: left;
    }
}


/* Neuro-symbolic Exercise Intelligence */

.exercise-neurosymbolic {
    margin-bottom: 1.5rem;
}

.exercise-neurosymbolic__decision {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.25rem;
    margin-top: 1rem;
    border: 1px solid var(--exercise-border, #d8dee8);
    border-radius: 0.75rem;
    background: var(--exercise-surface-soft, #f7f9fc);
}

.exercise-neurosymbolic__decision strong {
    display: block;
    margin-top: 0.25rem;
    font-size: 1.35rem;
}

.exercise-neurosymbolic__label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.exercise-neurosymbolic__confidence {
    min-width: 10rem;
    text-align: right;
}

.exercise-neurosymbolic__confidence span {
    display: block;
    font-size: 0.82rem;
}

.exercise-neurosymbolic__confidence strong {
    font-size: 2rem;
}

.exercise-neurosymbolic__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 2rem;
    margin-top: 1.5rem;
}

.exercise-reasoning-list,
.exercise-evidence-list {
    display: grid;
    gap: 0.75rem;
    padding: 0;
    list-style: none;
}

.exercise-reasoning-list li {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
}

.exercise-reasoning-list__positive span {
    font-weight: 800;
}

.exercise-reasoning-list__caution span {
    font-weight: 800;
}

.exercise-evidence-list li {
    display: grid;
    gap: 0.15rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--exercise-border, #d8dee8);
}

.exercise-evidence-list span {
    font-size: 0.85rem;
}

.exercise-rule-trace {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.exercise-rule-trace article {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.35rem 1rem;
    padding: 0.9rem;
    border: 1px solid var(--exercise-border, #d8dee8);
    border-radius: 0.5rem;
}

.exercise-rule-trace article div {
    display: grid;
}

.exercise-rule-trace article p {
    grid-column: 1 / -1;
    margin: 0;
}

.exercise-rule-result {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

@media (max-width: 800px) {
    .exercise-neurosymbolic__decision {
        display: grid;
    }

    .exercise-neurosymbolic__confidence {
        text-align: left;
    }

    .exercise-neurosymbolic__grid {
        grid-template-columns: 1fr;
    }
}


/* Longitudinal Exercise Intelligence */

.exercise-longitudinal {
    margin-bottom: 1.5rem;
}

.exercise-longitudinal__summary {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.25rem;
    margin-top: 1rem;
    border: 1px solid var(--exercise-border, #d8dee8);
    border-radius: 0.75rem;
    background: var(--exercise-surface-soft, #f7f9fc);
}

.exercise-longitudinal__summary strong {
    display: block;
    margin-top: 0.25rem;
    font-size: 1.25rem;
}

.exercise-longitudinal__metrics,
.exercise-longitudinal__trends {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.exercise-longitudinal__metrics article,
.exercise-longitudinal__trends article {
    padding: 1rem;
    border: 1px solid var(--exercise-border, #d8dee8);
    border-radius: 0.65rem;
}

.exercise-longitudinal__metrics span,
.exercise-longitudinal__trends span {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.exercise-longitudinal__metrics strong,
.exercise-longitudinal__trends strong {
    display: block;
    margin-top: 0.35rem;
    font-size: 1.15rem;
}

.exercise-longitudinal__trends p {
    margin-bottom: 0;
    font-size: 0.88rem;
}

.exercise-longitudinal__building {
    padding: 1rem;
    margin-top: 1.25rem;
    border: 1px dashed var(--exercise-border, #d8dee8);
    border-radius: 0.65rem;
}

.exercise-longitudinal__building p {
    margin-bottom: 0;
}

@media (max-width: 1000px) {
    .exercise-longitudinal__metrics,
    .exercise-longitudinal__trends {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .exercise-longitudinal__summary {
        display: grid;
    }

    .exercise-longitudinal__metrics,
    .exercise-longitudinal__trends {
        grid-template-columns: 1fr;
    }
}

/* Exercise Digital Twin */

.exercise-digital-twin {
    margin: 1.25rem 0;
    padding: 1.4rem;
    border: 1px solid rgba(42, 95, 88, 0.2);
    border-radius: 1rem;
    background:
        linear-gradient(
            135deg,
            rgba(236, 247, 245, 0.98),
            rgba(255, 255, 255, 0.98)
        );
    box-shadow: 0 12px 30px rgba(28, 61, 57, 0.08);
}

.exercise-digital-twin__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
}

.exercise-digital-twin__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #376e67;
}

.exercise-digital-twin h2 {
    margin: 0;
}

.exercise-digital-twin__summary {
    max-width: 58rem;
    margin: 0.55rem 0 0;
    color: #455b58;
    line-height: 1.55;
}

.exercise-digital-twin__confidence {
    min-width: 9rem;
    padding: 0.75rem 1rem;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.88);
    text-align: center;
}

.exercise-digital-twin__confidence span,
.exercise-digital-twin__confidence small {
    display: block;
    color: #60716f;
}

.exercise-digital-twin__confidence strong {
    display: block;
    margin: 0.15rem 0;
    font-size: 1.65rem;
    color: #214f49;
}

.exercise-digital-twin__status {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0;
    padding: 0.7rem 0.9rem;
    border-radius: 0.75rem;
    background: rgba(55, 110, 103, 0.08);
    color: #35534f;
    font-size: 0.9rem;
}

.exercise-digital-twin__status-label {
    font-weight: 700;
}

.exercise-digital-twin__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.exercise-digital-twin__metric {
    padding: 1rem;
    border: 1px solid rgba(42, 95, 88, 0.13);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.82);
}

.exercise-digital-twin__metric span,
.exercise-digital-twin__metric small {
    display: block;
    color: #667773;
    font-size: 0.8rem;
}

.exercise-digital-twin__metric strong {
    display: block;
    margin-top: 0.4rem;
    color: #253f3b;
    line-height: 1.3;
}

.exercise-digital-twin__metric small {
    margin-top: 0.25rem;
}

.exercise-digital-twin__recommendation {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border-left: 4px solid #376e67;
    border-radius: 0.4rem 0.85rem 0.85rem 0.4rem;
    background: rgba(55, 110, 103, 0.08);
}

.exercise-digital-twin__recommendation span {
    display: block;
    color: #60716f;
    font-size: 0.8rem;
}

.exercise-digital-twin__recommendation strong {
    display: block;
    margin-top: 0.25rem;
    color: #234d47;
}

.exercise-digital-twin__recommendation p {
    margin: 0.35rem 0 0;
}

.exercise-digital-twin__rules {
    margin-top: 1rem;
}

.exercise-digital-twin__rules summary {
    cursor: pointer;
    font-weight: 700;
    color: #315f59;
}

.exercise-digital-twin__rule-list {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.75rem;
}

.exercise-digital-twin__rule {
    padding: 0.8rem 0.9rem;
    border-radius: 0.7rem;
    background: rgba(255, 255, 255, 0.78);
}

.exercise-digital-twin__rule div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.exercise-digital-twin__rule div span {
    color: #60716f;
}

.exercise-digital-twin__rule p {
    margin: 0.35rem 0 0;
    color: #455b58;
}

.exercise-digital-twin__disclaimer {
    margin: 1rem 0 0;
    font-size: 0.78rem;
    color: #71807e;
}

@media (max-width: 900px) {
    .exercise-digital-twin__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .exercise-digital-twin__header {
        display: block;
    }

    .exercise-digital-twin__confidence {
        margin-top: 1rem;
    }

    .exercise-digital-twin__grid {
        grid-template-columns: 1fr;
    }

    .exercise-digital-twin__status {
        display: block;
    }

    .exercise-digital-twin__status span {
        display: block;
    }
}

/* Professional Exercise Population Intelligence */

.exercise-population-dashboard {
    margin-bottom: 2rem;
    padding: 1.5rem;
    border: 1px solid rgba(42, 95, 88, 0.2);
    border-radius: 1rem;
    background:
        linear-gradient(
            135deg,
            rgba(238, 248, 246, 0.98),
            rgba(255, 255, 255, 0.98)
        );
    box-shadow: 0 14px 34px rgba(28, 61, 57, 0.08);
}

.exercise-population-dashboard__header {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: flex-start;
}

.exercise-population-dashboard__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #376e67;
}

.exercise-population-dashboard__header h2 {
    margin: 0;
}

.exercise-population-dashboard__header p {
    max-width: 52rem;
    margin: 0.55rem 0 0;
    color: #526663;
}

.exercise-population-dashboard__risk {
    min-width: 15rem;
    padding: 0.9rem 1rem;
    border-radius: 0.8rem;
}

.exercise-population-dashboard__risk span,
.exercise-population-dashboard__risk strong {
    display: block;
}

.exercise-population-dashboard__risk span {
    margin-bottom: 0.25rem;
    font-size: 0.78rem;
}

.exercise-population-dashboard__risk.risk-high {
    background: #fee2e2;
    color: #991b1b;
}

.exercise-population-dashboard__risk.risk-moderate {
    background: #fef3c7;
    color: #92400e;
}

.exercise-population-dashboard__risk.risk-low {
    background: #dcfce7;
    color: #166534;
}

.exercise-population-dashboard__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
    margin: 1.25rem 0;
}

.exercise-population-dashboard__metrics article {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(42, 95, 88, 0.13);
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.84);
}

.exercise-population-dashboard__metrics span {
    display: block;
    font-size: 0.78rem;
    color: #667773;
}

.exercise-population-dashboard__metrics strong {
    display: block;
    margin-top: 0.25rem;
    font-size: 1.45rem;
    color: #234d47;
}

.exercise-population-dashboard__queue-header {
    margin: 1.5rem 0 0.8rem;
}

.exercise-population-dashboard__queue-header h3 {
    margin: 0;
}

.exercise-population-dashboard__queue-header p {
    margin: 0.35rem 0 0;
    color: #60716f;
}

.exercise-population-dashboard__queue {
    display: grid;
    gap: 0.9rem;
}

.exercise-population-patient {
    display: grid;
    grid-template-columns:
        minmax(13rem, 0.8fr)
        minmax(19rem, 1.35fr)
        minmax(12rem, 0.75fr);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #dce7e4;
    border-left-width: 6px;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.92);
}

.exercise-population-patient.priority-high {
    border-left-color: #dc2626;
}

.exercise-population-patient.priority-moderate {
    border-left-color: #d97706;
}

.exercise-population-patient.priority-progression {
    border-left-color: #2563eb;
}

.exercise-population-patient.priority-routine {
    border-left-color: #16a34a;
}

.exercise-population-patient.priority-developing {
    border-left-color: #64748b;
}

.exercise-population-patient__priority {
    display: inline-block;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 750;
}

.priority-badge-high {
    background: #fee2e2;
    color: #991b1b;
}

.priority-badge-moderate {
    background: #fef3c7;
    color: #92400e;
}

.priority-badge-progression {
    background: #dbeafe;
    color: #1e40af;
}

.priority-badge-routine {
    background: #dcfce7;
    color: #166534;
}

.priority-badge-developing {
    background: #e2e8f0;
    color: #334155;
}

.exercise-population-patient__identity h4 {
    margin: 0.5rem 0 0.1rem;
    font-size: 1.1rem;
}

.exercise-population-patient__identity p {
    margin: 0;
    color: #64748b;
    font-size: 0.8rem;
}

.exercise-population-patient__links {
    display: grid;
    gap: 0.3rem;
    margin-top: 0.7rem;
}

.exercise-population-patient__links a {
    font-size: 0.82rem;
    font-weight: 650;
    color: #315f59;
}

.exercise-population-patient__forecast {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.exercise-population-patient__forecast div {
    padding: 0.65rem;
    border-radius: 0.65rem;
    background: #f7faf9;
}

.exercise-population-patient__forecast span,
.exercise-population-patient__evidence span {
    display: block;
    font-size: 0.72rem;
    color: #6b7d79;
}

.exercise-population-patient__forecast strong {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.86rem;
    color: #2c4642;
}

.exercise-population-patient__confidence {
    margin-bottom: 0.65rem;
    padding: 0.65rem;
    border-radius: 0.65rem;
    background: #edf6f4;
}

.exercise-population-patient__confidence strong {
    display: block;
    margin-top: 0.15rem;
    font-size: 1.25rem;
    color: #234d47;
}

.exercise-population-patient__evidence dl {
    margin: 0;
}

.exercise-population-patient__evidence dl div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.25rem 0;
    border-bottom: 1px solid #edf1f0;
}

.exercise-population-patient__evidence dt,
.exercise-population-patient__evidence dd {
    margin: 0;
    font-size: 0.78rem;
}

.exercise-population-patient__reason {
    grid-column: 1 / -1;
    padding: 0.7rem 0.8rem;
    border-radius: 0.65rem;
    background: rgba(55, 110, 103, 0.07);
}

.exercise-population-patient__reason > span {
    display: block;
    font-size: 0.72rem;
    font-weight: 750;
    text-transform: uppercase;
    color: #60716f;
}

.exercise-population-patient__reason p {
    margin: 0.3rem 0;
}

.exercise-population-patient__reason code {
    display: inline-block;
    margin: 0.2rem 0.25rem 0 0;
    padding: 0.18rem 0.35rem;
    border-radius: 0.3rem;
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.72rem;
}

.exercise-population-dashboard__empty {
    padding: 2rem;
    border: 1px dashed #94a3b8;
    border-radius: 0.8rem;
    text-align: center;
}

@media (max-width: 1100px) {
    .exercise-population-dashboard__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exercise-population-patient {
        grid-template-columns: 1fr 1fr;
    }

    .exercise-population-patient__evidence {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .exercise-population-dashboard__header {
        display: block;
    }

    .exercise-population-dashboard__risk {
        margin-top: 1rem;
    }

    .exercise-population-dashboard__metrics,
    .exercise-population-patient,
    .exercise-population-patient__forecast {
        grid-template-columns: 1fr;
    }

    .exercise-population-patient__evidence {
        grid-column: auto;
    }
}

/* Exercise Copilot */

.exercise-copilot {
    margin: 0 0 2rem;
    padding: 1.5rem;
    border: 1px solid rgba(54, 87, 117, 0.22);
    border-radius: 1rem;
    background:
        linear-gradient(
            145deg,
            rgba(239, 246, 255, 0.98),
            rgba(255, 255, 255, 0.98)
        );
    box-shadow: 0 14px 34px rgba(30, 64, 100, 0.08);
}

.exercise-copilot__header {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: flex-start;
}

.exercise-copilot__eyebrow {
    margin: 0 0 0.35rem;
    color: #315d82;
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.exercise-copilot__header h2 {
    margin: 0;
}

.exercise-copilot__header p {
    max-width: 52rem;
    margin: 0.55rem 0 0;
    color: #52677a;
}

.exercise-copilot__status {
    min-width: 14rem;
    padding: 0.8rem 1rem;
    border-radius: 0.75rem;
    background: #dbeafe;
    color: #1e3a8a;
}

.exercise-copilot__status span,
.exercise-copilot__status strong {
    display: block;
}

.exercise-copilot__status span {
    margin-bottom: 0.2rem;
    font-size: 0.75rem;
}

.exercise-copilot__form {
    margin-top: 1.25rem;
}

.exercise-copilot__form label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.82rem;
    font-weight: 750;
}

.exercise-copilot__input-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: stretch;
}

.exercise-copilot__input-row textarea {
    width: 100%;
    min-height: 5.5rem;
    box-sizing: border-box;
    padding: 0.85rem;
    border: 1px solid #a9bdd0;
    border-radius: 0.75rem;
    resize: vertical;
    font: inherit;
}

.exercise-copilot__suggestions {
    margin-top: 0.8rem;
}

.exercise-copilot__suggestions > span {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
    color: #64748b;
}

.exercise-copilot__suggestions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.exercise-copilot__suggestions button {
    padding: 0.4rem 0.65rem;
    border: 1px solid #bfd0df;
    border-radius: 999px;
    background: white;
    color: #315d82;
    cursor: pointer;
    font-size: 0.78rem;
}

.exercise-copilot__response {
    margin-top: 1.25rem;
    padding: 1.15rem;
    border: 1px solid #cbdbe8;
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.9);
}

.exercise-copilot__response > header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.exercise-copilot__response h3 {
    margin: 0.25rem 0 0;
}

.exercise-copilot__intent {
    color: #315d82;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.exercise-copilot__confidence {
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 0.75rem;
    font-weight: 700;
}

.exercise-copilot__answer {
    margin: 1rem 0;
    font-size: 1.05rem;
    line-height: 1.55;
}

.exercise-copilot__patients {
    display: grid;
    gap: 0.75rem;
}

.exercise-copilot-patient {
    padding: 0.9rem;
    border: 1px solid #d9e3eb;
    border-left: 5px solid #64748b;
    border-radius: 0.75rem;
    background: #fff;
}

.exercise-copilot-patient.copilot-priority-high {
    border-left-color: #dc2626;
}

.exercise-copilot-patient.copilot-priority-moderate {
    border-left-color: #d97706;
}

.exercise-copilot-patient.copilot-priority-progression {
    border-left-color: #2563eb;
}

.exercise-copilot-patient.copilot-priority-routine {
    border-left-color: #16a34a;
}

.exercise-copilot-patient__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.exercise-copilot-patient__header h4 {
    margin: 0.3rem 0 0;
}

.exercise-copilot-patient__priority {
    font-size: 0.72rem;
    font-weight: 750;
    color: #475569;
}

.exercise-copilot-patient__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-top: 0.8rem;
}

.exercise-copilot-patient__grid div {
    padding: 0.55rem;
    border-radius: 0.55rem;
    background: #f8fafc;
}

.exercise-copilot-patient__grid span {
    display: block;
    color: #64748b;
    font-size: 0.7rem;
}

.exercise-copilot-patient__grid strong {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.82rem;
}

.exercise-copilot-patient__reason {
    margin: 0.75rem 0 0;
}

.exercise-copilot-patient__rules code {
    display: inline-block;
    margin: 0.35rem 0.2rem 0 0;
    padding: 0.18rem 0.35rem;
    border-radius: 0.3rem;
    background: #eef2f7;
    font-size: 0.7rem;
}

.exercise-copilot__reasoning {
    margin-top: 1rem;
    padding: 0.9rem;
    border-radius: 0.7rem;
    background: #f8fafc;
}

.exercise-copilot__reasoning h4 {
    margin: 0;
}

.exercise-copilot__reasoning ul {
    margin-bottom: 0;
}

.exercise-copilot__footer {
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid #dbe4ee;
}

.exercise-copilot__sources {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
}

.exercise-copilot__sources span {
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: #e2e8f0;
    font-size: 0.7rem;
}

.exercise-copilot__footer p {
    margin-bottom: 0;
    color: #64748b;
    font-size: 0.78rem;
}

.exercise-copilot__welcome {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px dashed #94a3b8;
    border-radius: 0.75rem;
}

@media (max-width: 800px) {
    .exercise-copilot__header,
    .exercise-copilot__response > header,
    .exercise-copilot-patient__header {
        display: block;
    }

    .exercise-copilot__status {
        margin-top: 1rem;
    }

    .exercise-copilot__input-row,
    .exercise-copilot-patient__grid {
        grid-template-columns: 1fr;
    }

    .exercise-copilot__input-row .button {
        width: 100%;
    }
}

/* Exercise prescription and monitored-session grids */

.exercise-prescription,
.exercise-session-grid {
    margin-bottom: 1.5rem;
}

.exercise-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: flex-start;
    margin-bottom: 1.25rem;
}

.exercise-eyebrow {
    margin-bottom: 0.35rem;
    color: #536783;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.exercise-prescription__metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.exercise-metric-card {
    min-height: 88px;
    padding: 0.9rem;
    border: 1px solid #d9e2ec;
    border-radius: 0.8rem;
    background: #f8fafc;
}

.exercise-metric-card span {
    display: block;
    margin-bottom: 0.4rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-metric-card strong {
    color: #10234f;
    font-size: 1rem;
}

.exercise-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.exercise-data-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}

.exercise-data-table th,
.exercise-data-table td {
    padding: 0.75rem;
    border-bottom: 1px solid #dce4ed;
    text-align: left;
    vertical-align: top;
}

.exercise-data-table th {
    background: #f1f5f9;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-data-table__current td {
    background: #eef6ff;
}

.exercise-monitor-badge {
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: #e7f5f3;
    color: #08756b;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.exercise-monitoring-policy {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-left: 4px solid #0f8f83;
    border-radius: 0.6rem;
    background: #eef8f6;
    color: #264653;
}

@media (max-width: 1100px) {
    .exercise-prescription__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .exercise-section-heading {
        display: block;
    }

    .exercise-prescription__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exercise-monitor-badge {
        display: inline-flex;
        margin-top: 0.75rem;
    }
}

/* Longitudinal session grid */

.exercise-longitudinal-grid {
    margin-bottom: 1.5rem;
}

.exercise-longitudinal-grid .exercise-data-table {
    min-width: 1120px;
}

.exercise-longitudinal-grid td:first-child {
    min-width: 180px;
}

.exercise-longitudinal-grid td:last-child {
    white-space: nowrap;
}

/* Professional synchronized session record */

.exercise-professional-monitoring-state {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0 0 1rem;
}

.exercise-professional-monitoring-state > div {
    padding: 0.7rem 0.8rem;
    border: 1px solid #dbe4ed;
    border-radius: 0.7rem;
    background: #f8fafc;
}

.exercise-professional-monitoring-state span,
.exercise-professional-prescription__metrics span {
    display: block;
    margin-bottom: 0.25rem;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-professional-monitoring-state strong {
    color: #10234f;
    font-size: 0.88rem;
}

.exercise-professional-session-record {
    margin-top: 1rem;
    border: 1px solid #d8e2eb;
    border-radius: 0.8rem;
    background: #ffffff;
}

.exercise-professional-session-record > summary {
    cursor: pointer;
    padding: 0.85rem 1rem;
    color: #173b68;
    font-weight: 800;
}

.exercise-professional-session-record[open] > summary {
    border-bottom: 1px solid #d8e2eb;
}

.exercise-professional-prescription {
    padding: 1rem;
}

.exercise-professional-prescription__metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
}

.exercise-professional-prescription__metrics > div {
    padding: 0.7rem;
    border: 1px solid #dce4ed;
    border-radius: 0.65rem;
    background: #f8fafc;
}

.exercise-professional-prescription__metrics strong {
    color: #10234f;
    font-size: 0.9rem;
}

.exercise-professional-session-grid {
    padding: 0 1rem 1rem;
}

.exercise-professional-session-grid .exercise-data-table {
    min-width: 1280px;
}

@media (max-width: 900px) {
    .exercise-professional-monitoring-state {
        grid-template-columns: 1fr;
    }

    .exercise-professional-prescription__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Exercise Knowledge Library */

.exercise-library-hero {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.25rem;
    padding: 1.5rem;
    border: 1px solid #d9e3ec;
    border-radius: 1rem;
    background: #ffffff;
}

.exercise-library-hero h1 {
    margin: 0.25rem 0 0.6rem;
    color: #10234f;
}

.exercise-library-hero p {
    max-width: 780px;
    margin: 0;
    color: #52657a;
    line-height: 1.6;
}

.exercise-library-hero__summary {
    display: flex;
    min-width: 190px;
    flex-direction: column;
    justify-content: center;
    padding: 1rem;
    border-radius: 0.85rem;
    background: #eef7f6;
    color: #0f5f58;
}

.exercise-library-hero__summary span,
.exercise-library-hero__summary small {
    font-size: 0.75rem;
    font-weight: 700;
}

.exercise-library-hero__summary strong {
    font-size: 2rem;
}

.exercise-library-controls {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid #d9e3ec;
    border-radius: 0.9rem;
    background: #ffffff;
}

.exercise-library-search label {
    display: block;
    margin-bottom: 0.45rem;
    color: #334155;
    font-weight: 800;
}

.exercise-library-search__row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 220px auto;
    gap: 0.65rem;
}

.exercise-library-search input,
.exercise-library-search select {
    min-height: 42px;
    padding: 0.65rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.6rem;
    background: #ffffff;
}

.exercise-library-category-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

.exercise-library-category-nav a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #27415f;
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
}

.exercise-library-category-nav a span {
    display: inline-flex;
    min-width: 22px;
    min-height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
}

.exercise-library-section {
    margin-bottom: 2rem;
}

.exercise-library-section__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 0.9rem;
}

.exercise-library-section__header h2 {
    margin: 0.2rem 0 0;
    color: #10234f;
}

.exercise-activity-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(250px, 1fr)
    );
    gap: 1rem;
}

.exercise-activity-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #d9e3ec;
    border-radius: 0.95rem;
    background: #ffffff;
}

.exercise-activity-card__visual {
    display: flex;
    min-height: 120px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        #e5f5f2,
        #edf4fb
    );
}

.exercise-activity-card__visual img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.exercise-activity-card__visual span {
    color: #0f766e;
    font-size: 3rem;
    font-weight: 900;
}

.exercise-activity-card__body {
    flex: 1;
    padding: 1rem;
}

.exercise-activity-card__meta,
.exercise-activity-detail-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.exercise-activity-card__meta span,
.exercise-activity-detail-badges span {
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: #edf2f7;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 800;
}

.exercise-activity-card h3 {
    margin: 0.75rem 0 0.45rem;
    color: #10234f;
}

.exercise-activity-card p {
    color: #52657a;
    line-height: 1.5;
}

.exercise-activity-card__facts {
    margin: 1rem 0 0;
}

.exercise-activity-card__facts div {
    margin-bottom: 0.65rem;
}

.exercise-activity-card__facts dt {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-activity-card__facts dd {
    margin: 0.2rem 0 0;
    color: #27364a;
}

.exercise-activity-card__footer {
    padding: 0.85rem 1rem;
    border-top: 1px solid #e2e8f0;
}

.exercise-activity-card__footer a {
    color: #0f766e;
    font-weight: 800;
    text-decoration: none;
}

.exercise-library-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 1rem;
    color: #64748b;
    font-size: 0.85rem;
}

.exercise-library-breadcrumb a {
    color: #0f766e;
    font-weight: 800;
    text-decoration: none;
}

.exercise-activity-detail-hero {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 1.5rem;
    margin-bottom: 1rem;
    padding: 1.4rem;
    border: 1px solid #d9e3ec;
    border-radius: 1rem;
    background: #ffffff;
}

.exercise-activity-detail-hero__visual {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.85rem;
    background: linear-gradient(
        135deg,
        #e5f5f2,
        #edf4fb
    );
}

.exercise-activity-detail-hero__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.exercise-activity-detail-hero__visual span {
    color: #0f766e;
    font-size: 4rem;
    font-weight: 900;
}

.exercise-activity-detail-hero h1 {
    margin: 0.25rem 0 0.6rem;
    color: #10234f;
}

.exercise-activity-detail-hero__summary {
    color: #42566f;
    font-size: 1.08rem;
    line-height: 1.6;
}

.exercise-activity-detail-metrics {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(180px, 1fr)
    );
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.exercise-activity-detail-metrics > div {
    padding: 0.85rem;
    border: 1px solid #d9e3ec;
    border-radius: 0.75rem;
    background: #ffffff;
}

.exercise-activity-detail-metrics span {
    display: block;
    margin-bottom: 0.3rem;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.exercise-activity-detail-metrics strong {
    color: #10234f;
}

.exercise-activity-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr);
    gap: 1rem;
}

.exercise-activity-detail-stack {
    display: grid;
    align-content: start;
    gap: 1rem;
}

.exercise-activity-list {
    margin: 0.75rem 0 0;
    padding-left: 1.25rem;
}

.exercise-activity-list li {
    margin-bottom: 0.65rem;
    color: #364a61;
    line-height: 1.5;
}

.exercise-safety-card {
    border-left: 5px solid #0f8f83;
}

.exercise-caution-card {
    border-left: 5px solid #d97706;
}

.exercise-activity-governance {
    margin: 0;
}

.exercise-activity-governance div {
    margin-bottom: 0.75rem;
}

.exercise-activity-governance dt {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.exercise-activity-governance dd {
    margin: 0.2rem 0 0;
}

.exercise-related-activities {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(220px, 1fr)
    );
    gap: 0.75rem;
}

.exercise-related-activities a {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.9rem;
    border: 1px solid #d9e3ec;
    border-radius: 0.75rem;
    background: #ffffff;
    color: #10234f;
    text-decoration: none;
}

.exercise-related-activities span {
    color: #64748b;
    font-size: 0.85rem;
}

.exercise-library-entry {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid #d4e4e1;
    border-radius: 0.8rem;
    background: #f0f8f6;
}

.exercise-library-entry div {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.exercise-library-entry span {
    color: #52657a;
}

.exercise-command-center__header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

@media (max-width: 820px) {
    .exercise-library-hero,
    .exercise-library-entry {
        display: block;
    }

    .exercise-library-hero__summary {
        margin-top: 1rem;
    }

    .exercise-library-search__row,
    .exercise-activity-detail-hero,
    .exercise-activity-detail-layout {
        grid-template-columns: 1fr;
    }

    .exercise-library-entry .exercise-button {
        display: inline-flex;
        margin-top: 0.75rem;
    }

    .exercise-command-center__header-actions {
        align-items: flex-end;
        flex-direction: column;
    }
}
