#fitness-app {
  --fitness-ink: #111827;
  --fitness-muted: #64748b;
  --fitness-primary: #0d1424;
  --fitness-primary-dark: #070b14;
  --fitness-accent: #b8f23c;
  --fitness-accent-hover: #a7df31;
  --fitness-success: #39d98a;
  --fitness-surface: #ffffff;
  --fitness-soft: #f7f9fc;
  --fitness-border: #e5eaf0;
  background: #f7f9fc;
  color: var(--fitness-ink);
  min-height: 70vh;
  padding: 8px 0 56px;
}

.fitness-schedule-preferences form { display: grid; gap: 1rem; }
.fitness-choice { cursor: pointer; }
.fitness-choice input { position: absolute; opacity: 0; pointer-events: none; }
.fitness-choice span { display: inline-flex; align-items: center; min-height: 42px; padding: .65rem .9rem; border: 1px solid var(--fitness-border); border-radius: 999px; color: var(--fitness-muted); font-weight: 700; transition: .2s ease; }
.fitness-choice input:checked + span { border-color: var(--fitness-primary); background: var(--fitness-primary); color: #fff; }
.fitness-choice input:focus-visible + span { outline: 3px solid rgba(184, 242, 60, .28); outline-offset: 2px; }
.fitness-choice input:disabled + span { cursor: not-allowed; opacity: .65; }
.fitness-substitution-status { align-items: center; color: var(--fitness-primary) !important; display: flex; font-size: 13px; font-weight: 700; gap: 7px; margin: -4px 0 12px; }
.fitness-substitution { background: var(--fitness-soft); border: 1px solid var(--fitness-border); border-radius: 14px; margin: 18px 0; padding: 0 14px; }
.fitness-substitution summary { cursor: pointer; font-weight: 700; padding: 13px 0; }
.fitness-substitution summary::marker { color: var(--fitness-primary); }
.fitness-substitution > div { display: grid; gap: 10px; padding: 0 0 14px; }
@media (min-width: 576px) { .fitness-substitution > div { align-items: center; grid-template-columns: minmax(0,1fr) auto; } }
.fitness-time-adjustment { align-items: center; display: flex; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.fitness-time-adjustment p { color: var(--fitness-muted); margin: 0; }

#fitness-app h1, #fitness-app h2, #fitness-app h3, #fitness-app h4 { color: var(--fitness-ink); font-weight: 700; letter-spacing: -.02em; }
#fitness-app p { color: var(--fitness-muted); line-height: 1.65; }
#fitness-app .fitness-breadcrumb { background: transparent; margin: 8px 0 18px; padding: 8px 0; }
#fitness-app .fitness-hero { align-items: center; background: linear-gradient(135deg, #0d1424, #16213a); border-radius: 24px; color: #fff; display: flex; justify-content: space-between; margin-bottom: 24px; overflow: hidden; padding: 32px; position: relative; }
#fitness-app .fitness-hero:after { background: var(--fitness-accent); border-radius: 50%; content: ""; height: 180px; opacity: .12; position: absolute; right: -45px; top: -75px; width: 180px; }
#fitness-app .fitness-hero h1 { color: #fff; font-size: 34px; margin: 5px 0 8px; }
#fitness-app .fitness-hero p { color: rgba(255,255,255,.78); margin: 0; }
#fitness-app .fitness-kicker { color: var(--fitness-primary); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
#fitness-app .fitness-hero .fitness-kicker { color: var(--fitness-accent); }
#fitness-app .fitness-btn { border: 0; border-radius: 12px; display: inline-flex; font-weight: 700; gap: 8px; justify-content: center; padding: 11px 17px; position: relative; text-decoration: none; z-index: 1; }
#fitness-app .fitness-btn-primary { background: var(--fitness-accent); color: var(--fitness-primary); }
#fitness-app .fitness-btn-primary:hover, #fitness-app .fitness-btn-primary:focus { background: var(--fitness-accent-hover); color: var(--fitness-primary); }
#fitness-app .fitness-btn-secondary { background: #fff; border: 1px solid var(--fitness-border); color: var(--fitness-primary); }
#fitness-app .fitness-btn-secondary:hover, #fitness-app .fitness-btn-secondary:focus { background: #f1f5f9; color: var(--fitness-primary); }
#fitness-app .fitness-btn-large { padding: 14px 21px; }
#fitness-app .fitness-dashboard-grid { display: grid; gap: 18px; grid-template-columns: 2fr 1fr 1fr; margin-bottom: 32px; }
#fitness-app .fitness-card { background: var(--fitness-surface); border: 1px solid var(--fitness-border); border-radius: 18px; box-shadow: 0 8px 28px rgba(13,20,36,.05); padding: 22px; }
#fitness-app .fitness-today-card { background: linear-gradient(145deg, rgba(184,242,60,.12), #fff 62%); grid-row: span 2; min-height: 300px; padding: 28px; }
#fitness-app .fitness-today-card h2 { font-size: 29px; margin: 48px 0 8px; }
#fitness-app .fitness-card-label { color: var(--fitness-primary); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
#fitness-app .fitness-stat { font-size: 34px; font-weight: 700; margin-top: 10px; }
#fitness-app .fitness-progress { background: #e5eaf0; border-radius: 20px; height: 9px; margin: 8px 0 10px; overflow: hidden; }
#fitness-app .fitness-progress span { background: linear-gradient(90deg, var(--fitness-accent), var(--fitness-success)); border-radius: inherit; display: block; height: 100%; }
#fitness-app .fitness-meta { color: var(--fitness-muted); font-size: 13px; }
#fitness-app .fitness-link { color: var(--fitness-primary); font-weight: 700; text-decoration: none; }
#fitness-app .fitness-section { margin: 34px 0; }
#fitness-app .fitness-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 16px; }
#fitness-app .fitness-section-heading h2 { margin: 4px 0 0; }
#fitness-app .fitness-plan-grid, #fitness-app .fitness-day-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#fitness-app .fitness-plan-card, #fitness-app .fitness-day-card { background: #fff; border: 1px solid var(--fitness-border); border-radius: 16px; display: flex; flex-direction: column; justify-content: space-between; min-height: 180px; padding: 20px; }
#fitness-app .fitness-pill { border-radius: 20px; display: inline-block; font-size: 11px; font-weight: 700; padding: 5px 9px; text-transform: uppercase; }
#fitness-app .fitness-pill-active { background: #dff5e7; color: #12633c; }
#fitness-app .fitness-pill-paused { background: #fff1cf; color: #805d00; }
#fitness-app .fitness-pill-premium { background: #eee7ff; color: #5b32a3; }
#fitness-app .fitness-pill-recommended { background: #e8f3fb; color: #205b7a; }
#fitness-app .fitness-notice { align-items: flex-start; border-radius: 16px; display: flex; gap: 16px; margin-bottom: 22px; padding: 18px 20px; }
#fitness-app .fitness-notice > i { font-size: 24px; margin-top: 3px; }
#fitness-app .fitness-notice h2 { font-size: 18px; margin: 0 0 5px; }
#fitness-app .fitness-notice p { margin: 0 0 12px; }
#fitness-app .fitness-notice-info { background: #e8f3fb; color: #205b7a; }
#fitness-app .fitness-notice-warning { background: #fff2d9; color: #825d0a; }
#fitness-app .fitness-notice-success { background: #e2f5e8; color: #12633c; }
#fitness-app .fitness-empty { background: #fff; border: 1px dashed #bdd0c3; border-radius: 22px; margin: 24px 0; padding: 52px 22px; text-align: center; }
#fitness-app .fitness-empty-icon { align-items: center; background: var(--fitness-soft); border-radius: 50%; color: var(--fitness-primary); display: inline-flex; font-size: 30px; height: 72px; justify-content: center; width: 72px; }
#fitness-app .fitness-copy { white-space: pre-wrap; }
#fitness-app .fitness-week { background: var(--fitness-soft); border-radius: 18px; margin-bottom: 18px; padding: 18px; }
#fitness-app .fitness-week > h3 { font-size: 18px; margin: 0 0 14px; }
#fitness-app .fitness-day-card { min-height: 145px; }
#fitness-app .fitness-exercise-list { display: grid; gap: 18px; }
#fitness-app .fitness-exercise-card { background: #fff; border: 1px solid var(--fitness-border); border-radius: 18px; display: grid; grid-template-columns: minmax(180px, 30%) 1fr; overflow: hidden; }
#fitness-app .fitness-exercise-image img { height: 100%; object-fit: cover; width: 100%; }
#fitness-app .fitness-exercise-content { padding: 24px; }
#fitness-app .fitness-exercise-content h3 { margin: 5px 0 14px; }
#fitness-app .fitness-exercise-content p { white-space: pre-wrap; }
#fitness-app .fitness-prescription { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
#fitness-app .fitness-prescription strong, #fitness-app .fitness-prescription span { background: var(--fitness-soft); border-radius: 9px; padding: 7px 10px; }
#fitness-app .fitness-workout-progress { background: #fff; border: 1px solid var(--fitness-border); border-radius: 16px; margin-bottom: 20px; padding: 16px 20px; }
#fitness-app .fitness-workout-progress strong { display: block; }
#fitness-app .fitness-exercise-card { transition: border-color .2s ease, box-shadow .2s ease; }
#fitness-app .fitness-exercise-card.is-completed { border-color: #73bd8e; box-shadow: 0 8px 28px rgba(22,122,75,.1); }
#fitness-app .fitness-btn-complete { background: #dff5e7; color: #12633c; }
#fitness-app .fitness-btn[disabled] { cursor: not-allowed; opacity: .58; }
#fitness-app .fitness-btn-complete[disabled] { opacity: 1; }
#fitness-app .fitness-workout-actionbar { bottom: 0; margin-top: 28px; position: sticky; z-index: 20; }
#fitness-app .fitness-workout-actionbar-inner { align-items: center; background: #0d1424; border-radius: 16px; box-shadow: 0 -8px 28px rgba(13,20,36,.14); color: #fff; display: flex; gap: 18px; justify-content: flex-end; padding: 14px 18px; }
#fitness-app .fitness-workout-actionbar-inner > span { margin-right: auto; }
#fitness-app .fitness-progress-summary { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#fitness-app .fitness-dashboard-progress { margin-top: 24px; }
#fitness-app .fitness-progress-date { margin: -20px 0 24px; text-align: right; }
#fitness-app .fitness-progress-layout { display: grid; gap: 20px; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); }
#fitness-app .fitness-progress-form label { color: var(--fitness-ink); }
#fitness-app .fitness-progress-form .form-control { border-color: var(--fitness-border); border-radius: 10px; min-height: 44px; }
#fitness-app .fitness-measurement-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#fitness-app .fitness-form-error { margin: -6px 0 12px; }
#fitness-app .fitness-history-entry { border-bottom: 1px solid var(--fitness-border); padding: 15px 0; }
#fitness-app .fitness-history-entry:first-child { padding-top: 0; }
#fitness-app .fitness-history-entry:last-child { border-bottom: 0; padding-bottom: 0; }
#fitness-app .fitness-history-entry > div:first-child { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; }
#fitness-app .fitness-history-entry p { margin: 10px 0 0; white-space: pre-wrap; }
#fitness-app .fitness-history-values { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
#fitness-app .fitness-history-values span { background: var(--fitness-soft); border-radius: 9px; font-weight: 700; padding: 7px 10px; }
#fitness-app .fitness-hero-actions, #fitness-app .fitness-card-actions { display: flex; flex-wrap: wrap; gap: 10px; position: relative; z-index: 1; }
#fitness-app .fitness-dashboard-shortcuts { display: flex; gap: 10px; justify-content: flex-end; margin: -10px 0 22px; }
#fitness-app .fitness-guidance-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#fitness-app .fitness-guidance-group { margin-bottom: 42px; }
#fitness-app .fitness-guidance-intro { margin-bottom: 18px; }
#fitness-app .fitness-guidance-card { align-items: flex-start; display: grid; gap: 16px; grid-template-columns: auto 1fr; }
#fitness-app .fitness-guidance-card h3 { font-size: 20px; margin: 5px 0 10px; }
#fitness-app .fitness-guidance-icon { align-items: center; background: var(--fitness-soft); border-radius: 13px; color: var(--fitness-primary); display: flex; flex: 0 0 auto; font-size: 21px; height: 46px; justify-content: center; width: 46px; }
#fitness-app .fitness-guidance-value { background: #e2f5e8; border-radius: 10px; color: #12633c; display: inline-block; font-size: 17px; font-weight: 700; margin-bottom: 12px; padding: 8px 11px; }
#fitness-app .fitness-program-filters { margin-bottom: 24px; }
#fitness-app .fitness-filter-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
#fitness-app .fitness-program-filters label { color: var(--fitness-ink); }
#fitness-app .fitness-program-filters .form-control { border-color: var(--fitness-border); border-radius: 10px; min-height: 44px; }
#fitness-app .fitness-program-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 24px; }
#fitness-app .fitness-program-card { display: flex; flex-direction: column; justify-content: space-between; }
#fitness-app .fitness-program-card h2 { font-size: 23px; margin: 13px 0 9px; }
#fitness-app .fitness-program-badges, #fitness-app .fitness-program-meta { display: flex; flex-wrap: wrap; gap: 8px; }
#fitness-app .fitness-program-meta { color: var(--fitness-muted); font-size: 13px; margin: 16px 0 10px; }
#fitness-app .fitness-program-meta span { background: var(--fitness-soft); border-radius: 8px; padding: 6px 8px; }
#fitness-app .fitness-relevance { background: #f0f7fb; border-radius: 12px; margin: 15px 0; padding: 13px 15px; }
#fitness-app .fitness-relevance ul { margin: 8px 0 0; padding-left: 18px; }
#fitness-app .fitness-program-detail-layout { align-items: start; display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr) minmax(250px, .38fr); }
#fitness-app .fitness-program-description { margin-top: 20px; }
#fitness-app .fitness-program-facts { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#fitness-app .fitness-program-facts > div { background: var(--fitness-soft); border-radius: 11px; display: flex; flex-direction: column; gap: 5px; padding: 13px; }
#fitness-app .fitness-program-facts span { color: var(--fitness-muted); font-size: 12px; }
#fitness-app .fitness-program-cta { position: sticky; top: 15px; }
#fitness-app .fitness-program-cta .fitness-btn, #fitness-app .fitness-program-cta form { width: 100%; }
#fitness-app .fitness-form-section { margin-bottom: 20px; }
#fitness-app .fitness-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#fitness-app .fitness-field { margin-bottom: 16px; }
#fitness-app .fitness-field label { color: var(--fitness-ink); display: block; font-weight: 700; margin-bottom: 6px; }
#fitness-app .fitness-field .form-control, #fitness-app .fitness-field .form-select { border-color: var(--fitness-border); border-radius: 10px; min-height: 46px; }
#fitness-app .fitness-field textarea.form-control { min-height: 110px; }
#fitness-app .fitness-check { align-items: flex-start; display: grid; gap: 8px 10px; grid-template-columns: auto 1fr; margin: 18px 0; }
#fitness-app .fitness-check .invalid-feedback { grid-column: 2; }
#fitness-app .fitness-form-actions { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin: 24px 0; }
#fitness-app .fitness-form-actions > div { display: flex; flex-wrap: wrap; gap: 10px; }
#fitness-app .fitness-reason-list { margin-bottom: 20px; padding-left: 20px; }
#fitness-app .fitness-pagination { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin-top: 24px; }

/* Premium application refinement */
#fitness-app{background:linear-gradient(180deg,#f4f8f5 0,#fbfcfb 420px);padding-top:18px}
#fitness-app .fitness-page-header{align-items:flex-end;background:#fff;border:1px solid var(--fitness-border);border-radius:22px;box-shadow:0 14px 40px rgba(20,35,27,.06);display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding:28px 30px}
#fitness-app .fitness-page-header h1{font-size:clamp(28px,4vw,42px);margin:5px 0 8px}
#fitness-app .fitness-page-header p{margin:0;max-width:680px}
#fitness-app .fitness-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
#fitness-app .fitness-chip-row span{align-items:center;background:var(--fitness-soft);border-radius:999px;color:var(--fitness-muted);display:inline-flex;font-size:13px;font-weight:700;gap:7px;padding:8px 11px}
#fitness-app .fitness-plan-intro{margin-bottom:28px;max-width:880px}
#fitness-app .fitness-week-list{display:grid;gap:12px}
#fitness-app .fitness-week{background:#fff;border:1px solid var(--fitness-border);border-radius:16px;margin:0;overflow:hidden;padding:0}
#fitness-app .fitness-week.is-current{border-color:#79b995;box-shadow:0 10px 30px rgba(22,122,75,.1)}
#fitness-app .fitness-week .accordion-button{background:#fff;box-shadow:none;color:var(--fitness-ink);gap:16px;justify-content:space-between;padding:18px 20px}
#fitness-app .fitness-week .accordion-button:after{margin-left:4px}
#fitness-app .fitness-week .accordion-button>span:first-child{display:flex;flex-direction:column;gap:2px;margin-right:auto}
#fitness-app .fitness-week .accordion-button small{color:var(--fitness-muted);font-size:13px;font-weight:500}
#fitness-app .fitness-week .accordion-body{background:#f8fbf9;border-top:1px solid var(--fitness-border);padding:18px}
#fitness-app .fitness-day-card.is-completed{background:#f0f8f3;border-color:#9bc9ad}
#fitness-app .fitness-complete-mark{align-items:center;color:var(--fitness-primary);display:flex;font-size:13px;font-weight:700;gap:7px}
#fitness-app .fitness-stepper{display:grid;gap:0;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 auto 22px;max-width:900px;padding:0}
#fitness-app .fitness-energy-summary{align-items:center;display:grid;gap:24px;grid-template-columns:1fr auto;margin:0 auto 22px;max-width:900px}
#fitness-app .fitness-energy-summary h2{font-size:22px;margin:4px 0}
#fitness-app .fitness-energy-summary p{margin:0;max-width:560px}
#fitness-app .fitness-energy-values{display:flex;gap:10px}
#fitness-app .fitness-energy-values span{background:var(--fitness-soft);border-radius:12px;display:flex;flex-direction:column;padding:12px 14px}
#fitness-app .fitness-energy-values small{color:var(--fitness-muted);font-size:11px}
#fitness-app .fitness-stepper li{align-items:center;color:var(--fitness-muted);display:flex;font-size:12px;font-weight:700;gap:8px;position:relative}
#fitness-app .fitness-stepper li:after{background:var(--fitness-border);content:"";height:2px;position:absolute;right:8px;top:17px;width:calc(100% - 52px)}
#fitness-app .fitness-stepper li:last-child:after{display:none}
#fitness-app .fitness-stepper span{align-items:center;background:#fff;border:2px solid var(--fitness-border);border-radius:50%;display:inline-flex;height:36px;justify-content:center;position:relative;width:36px;z-index:1}
#fitness-app .fitness-stepper .is-active,#fitness-app .fitness-stepper .is-complete{color:var(--fitness-primary)}
#fitness-app .fitness-stepper .is-active span,#fitness-app .fitness-stepper .is-complete span{background:var(--fitness-primary);border-color:var(--fitness-primary);color:#fff}
#fitness-app .fitness-form-step{display:none;margin:0 auto;max-width:900px;padding:30px}
#fitness-app .fitness-form-step.is-active{display:block}
#fitness-app .fitness-step-heading{border-bottom:1px solid var(--fitness-border);margin-bottom:22px;padding-bottom:16px}
#fitness-app .fitness-step-heading>span{color:var(--fitness-primary);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
#fitness-app .fitness-step-heading h2{margin:4px 0 0}
#fitness-app .fitness-step-actions{align-items:center;border-top:1px solid var(--fitness-border);display:flex;gap:12px;justify-content:space-between;margin-top:24px;padding-top:20px}
#fitness-app .fitness-step-actions>div{display:flex;gap:10px}
#fitness-app .fitness-plan-card,#fitness-app .fitness-program-card{box-shadow:0 10px 30px rgba(20,35,27,.05);min-height:230px;padding:24px;transition:transform .2s ease,box-shadow .2s ease}
#fitness-app .fitness-plan-card:hover,#fitness-app .fitness-program-card:hover{box-shadow:0 18px 40px rgba(20,35,27,.1);transform:translateY(-2px)}
#fitness-app .fitness-plan-card .fitness-btn,#fitness-app .fitness-program-card .fitness-btn{min-width:150px}
#fitness-app .fitness-reason-list,#fitness-app .fitness-relevance ul{list-style:none;padding:0}
#fitness-app .fitness-reason-list li,#fitness-app .fitness-relevance li{padding-left:22px;position:relative}
#fitness-app .fitness-reason-list li:before,#fitness-app .fitness-relevance li:before{color:var(--fitness-primary);content:"\f00c";font-family:"Font Awesome 7 Free";font-weight:900;left:0;position:absolute}
#fitness-app .fitness-reason-list li:nth-child(n+4),#fitness-app .fitness-relevance li:nth-child(n+4){display:none}
#fitness-app .fitness-exercise-card{border-radius:22px;box-shadow:0 12px 34px rgba(20,35,27,.07);grid-template-columns:minmax(220px,34%) 1fr}
#fitness-app .fitness-exercise-image{background:linear-gradient(145deg,#dfeee4,#f6faf7);min-height:260px;position:relative}
#fitness-app .fitness-exercise-placeholder{align-items:center;color:#779184;display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:10px;height:100%;justify-content:center;min-height:260px}
#fitness-app .fitness-exercise-placeholder i{font-size:42px;opacity:.55}
#fitness-app .fitness-exercise-number{background:rgba(16,45,32,.88);border-radius:999px;color:#fff;font-size:11px;font-weight:800;left:14px;padding:7px 10px;position:absolute;top:14px}
#fitness-app .fitness-exercise-content{padding:28px}
#fitness-app .fitness-exercise-content h3{font-size:26px}
#fitness-app .fitness-prescription{border-bottom:1px solid var(--fitness-border);border-top:1px solid var(--fitness-border);padding:14px 0}
#fitness-app .fitness-prescription strong,#fitness-app .fitness-prescription span{background:#edf6f0;color:var(--fitness-primary-dark);font-size:14px}
#fitness-app .fitness-exercise-content h4{color:var(--fitness-primary);font-size:13px;letter-spacing:.05em;margin-top:18px;text-transform:uppercase}
#fitness-app .fitness-coach-note{align-items:flex-start;background:#fff8df;border-radius:10px;color:#6d5818!important;display:flex;gap:9px;padding:11px 12px;white-space:normal!important}
#fitness-app .fitness-coach-note i{margin-top:4px}
#fitness-app .fitness-exercise-content .button-exercise{margin-top:8px;min-width:220px}
#fitness-app .fitness-workout-progress{align-items:center;display:grid;gap:18px;grid-template-columns:auto 1fr;padding:18px 22px;position:sticky;top:78px;z-index:15}
#fitness-app .fitness-workout-progress .fitness-progress{margin:0}
#fitness-app .fitness-guidance-card{border-top:4px solid #dbeadf}
#fitness-app .fitness-progress-summary .fitness-card{background:linear-gradient(145deg,#fff,#f2f8f4)}
#fitness-app .fitness-completion-notice{align-items:flex-start;margin-bottom:24px}
#fitness-app .fitness-completion-notice .fitness-card-actions{margin-top:14px}
#fitness-app .fitness-certificate-card{align-items:center;display:grid;gap:18px;grid-template-columns:auto 1fr auto;min-height:0}
#fitness-app .fitness-certificate-card>i{color:#c8962e;font-size:38px}
#fitness-app .fitness-certificate-card h3{margin:4px 0}
#fitness-app .fitness-certificate-card code{color:var(--fitness-muted);font-size:12px}
#fitness-app .fitness-certificate-actions{display:flex;justify-content:space-between;margin-bottom:18px}
#fitness-app .fitness-certificate{background:#fff;border:10px solid #143f2b;box-shadow:0 24px 70px rgba(20,35,27,.12);margin:0 auto 40px;max-width:980px;outline:2px solid #c8a452;outline-offset:-20px;padding:70px 56px;text-align:center}
#fitness-app .fitness-certificate-mark{align-items:center;background:#143f2b;border-radius:50%;color:#f0cc69;display:flex;font-size:38px;height:82px;justify-content:center;margin:0 auto 22px;width:82px}
#fitness-app .fitness-certificate h1{font-family:Georgia,serif;font-size:clamp(36px,6vw,64px);margin:8px 0 34px}
#fitness-app .fitness-certificate h2{font-family:Georgia,serif;font-size:clamp(30px,5vw,48px);margin:12px 0}
#fitness-app .fitness-certificate h3{font-size:clamp(22px,3vw,32px);margin:12px 0 18px}
#fitness-app .fitness-certificate-meta{display:flex;gap:24px;justify-content:center;margin:30px 0 18px}
#fitness-app .fitness-certificate-code{display:flex;flex-direction:column;gap:5px;margin:22px 0}
#fitness-app .fitness-certificate-code strong{font-family:monospace;font-size:18px;letter-spacing:.08em}
#fitness-app .fitness-certificate-verify-link{display:flex;flex-direction:column;gap:5px;margin-top:20px;overflow-wrap:anywhere}
#fitness-app .fitness-certificate-verify-form{margin:0 auto 20px;max-width:760px}
#fitness-app .fitness-certificate-verify-form form{align-items:flex-end;display:grid;gap:14px;grid-template-columns:1fr auto}
#fitness-app .fitness-certificate-verify-form .fitness-field{margin:0}
#fitness-app .fitness-certificate-public{margin:0 auto;max-width:760px}
#fitness-app .fitness-certificate-public dl{display:grid;gap:0;margin:0}
#fitness-app .fitness-certificate-public dl>div{align-items:center;border-bottom:1px solid var(--fitness-border);display:grid;gap:20px;grid-template-columns:minmax(150px,35%) 1fr;padding:14px 0}
#fitness-app .fitness-certificate-public dl>div:last-child{border-bottom:0}
#fitness-app .fitness-certificate-public dt{color:var(--fitness-muted);font-size:13px;font-weight:700}
#fitness-app .fitness-certificate-public dd{color:var(--fitness-ink);font-weight:700;margin:0}
#fitness-app .fitness-results-hero .fitness-btn{flex:0 0 auto}
#fitness-app .fitness-metrics-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
#fitness-app .fitness-metric-card{display:flex;flex-direction:column;min-height:245px}
#fitness-app .fitness-metric-card>span{color:var(--fitness-muted);font-size:13px;font-weight:700;margin-top:20px}
#fitness-app .fitness-metric-card>strong{color:var(--fitness-ink);font-size:clamp(26px,4vw,38px);line-height:1.15;margin:7px 0 12px}
#fitness-app .fitness-metric-card>p{font-size:14px;margin:auto 0 0}
#fitness-app .fitness-metric-primary{background:linear-gradient(145deg,#fff,#edf8f1)}
#fitness-app .fitness-metric-icon,#fitness-app .fitness-summary-icon{align-items:center;background:#e2f5e8;border-radius:13px;color:var(--fitness-primary);display:flex;font-size:21px;height:46px;justify-content:center;width:46px}
#fitness-app .fitness-metric-note{align-items:flex-start;color:var(--fitness-muted);display:flex;font-size:13px;gap:10px;margin:0 4px 28px}
#fitness-app .fitness-metric-note i{color:var(--fitness-primary);margin-top:4px}
#fitness-app .fitness-metric-note p{font-size:13px;margin:0}
#fitness-app .fitness-results-summary{display:grid;gap:14px;margin-bottom:24px}
#fitness-app .fitness-results-summary .fitness-card{align-items:center;display:grid;gap:18px;grid-template-columns:auto 1fr;min-height:0;padding:19px 22px}
#fitness-app .fitness-results-summary h2{font-size:19px;line-height:1.4;margin:4px 0}
#fitness-app .fitness-results-summary p{margin:3px 0 0}
#fitness-app .fitness-results-next{align-items:center;background:linear-gradient(135deg,#102d20,#176a45);display:grid;gap:24px;grid-template-columns:1fr auto;padding:28px 30px}
#fitness-app .fitness-results-next h2{color:#fff;margin:5px 0 7px}
#fitness-app .fitness-results-next p{color:rgba(255,255,255,.76);margin:0;max-width:620px}
#fitness-app .fitness-results-next .fitness-kicker{color:var(--fitness-accent)}

@media (max-width: 991px) {
  #fitness-app .fitness-dashboard-grid { grid-template-columns: 1fr 1fr; }
  #fitness-app .fitness-today-card { grid-column: span 2; grid-row: auto; min-height: 230px; }
  #fitness-app .fitness-today-card h2 { margin-top: 32px; }
}

@media (max-width: 767px) {
  #fitness-app { padding-bottom: 36px; }
  #fitness-app .fitness-hero { align-items: flex-start; border-radius: 18px; flex-direction: column; gap: 18px; padding: 24px 20px; }
  #fitness-app .fitness-hero h1 { font-size: 28px; }
  #fitness-app .fitness-dashboard-grid, #fitness-app .fitness-plan-grid, #fitness-app .fitness-day-grid { grid-template-columns: 1fr; }
  #fitness-app .fitness-today-card { grid-column: auto; min-height: 240px; }
  #fitness-app .fitness-card, #fitness-app .fitness-today-card { padding: 20px; }
  #fitness-app .fitness-section-heading { align-items: flex-start; gap: 12px; }
  #fitness-app .fitness-exercise-card { grid-template-columns: 1fr; }
  #fitness-app .fitness-exercise-image { max-height: 230px; }
  #fitness-app .fitness-btn { min-height: 44px; width: 100%; }
  #fitness-app .fitness-workout-actionbar { margin-left: -15px; margin-right: -15px; }
  #fitness-app .fitness-workout-actionbar-inner { border-radius: 14px 14px 0 0; flex-direction: column; gap: 10px; padding: 14px 15px; }
  #fitness-app .fitness-workout-actionbar-inner > span { margin-right: 0; }
  #fitness-app .fitness-progress-summary, #fitness-app .fitness-progress-layout, #fitness-app .fitness-measurement-grid { grid-template-columns: 1fr; }
  #fitness-app .fitness-progress-date { margin-top: -12px; text-align: left; }
  #fitness-app .fitness-hero-actions, #fitness-app .fitness-card-actions, #fitness-app .fitness-guidance-grid { grid-template-columns: 1fr; width: 100%; }
  #fitness-app .fitness-hero-actions, #fitness-app .fitness-card-actions { flex-direction: column; }
  #fitness-app .fitness-dashboard-shortcuts { justify-content: stretch; }
  #fitness-app .fitness-guidance-card { grid-template-columns: 1fr; }
  #fitness-app .fitness-filter-grid, #fitness-app .fitness-program-grid, #fitness-app .fitness-program-detail-layout, #fitness-app .fitness-program-facts, #fitness-app .fitness-form-grid { grid-template-columns: 1fr; }
  #fitness-app .fitness-dashboard-shortcuts { flex-direction: column; }
  #fitness-app .fitness-program-cta { position: static; }
  #fitness-app .fitness-form-actions, #fitness-app .fitness-form-actions > div, #fitness-app .fitness-pagination { align-items: stretch; flex-direction: column; }
  #fitness-app .fitness-page-header{align-items:flex-start;border-radius:18px;flex-direction:column;padding:22px 20px}
  #fitness-app .fitness-page-header .fitness-btn{width:100%}
  #fitness-app .fitness-stepper li{font-size:0;justify-content:center}
  #fitness-app .fitness-energy-summary{grid-template-columns:1fr}#fitness-app .fitness-energy-values{flex-direction:column}
  #fitness-app .fitness-stepper li:after{right:-22%;width:44%}
  #fitness-app .fitness-form-step{padding:22px 18px}
  #fitness-app .fitness-step-actions,#fitness-app .fitness-step-actions>div{align-items:stretch;flex-direction:column;width:100%}
  #fitness-app .fitness-step-actions>span{display:none}
  #fitness-app .fitness-exercise-card{grid-template-columns:1fr}
  #fitness-app .fitness-exercise-image{min-height:210px}
  #fitness-app .fitness-exercise-content{padding:22px 18px}
  #fitness-app .fitness-workout-progress{grid-template-columns:1fr;top:64px}
  #fitness-app .fitness-time-adjustment{align-items:stretch;flex-direction:column}
  #fitness-app .fitness-time-adjustment .fitness-chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #fitness-app .fitness-certificate-card{grid-template-columns:auto 1fr}
  #fitness-app .fitness-certificate-card .fitness-btn{grid-column:1/-1}
  #fitness-app .fitness-certificate{border-width:6px;outline-offset:-13px;padding:52px 22px}
  #fitness-app .fitness-certificate-meta{flex-direction:column;gap:6px}
  #fitness-app .fitness-certificate-verify-form form,#fitness-app .fitness-certificate-public dl>div{grid-template-columns:1fr}
  #fitness-app .fitness-metrics-grid,#fitness-app .fitness-results-next{grid-template-columns:1fr}
  #fitness-app .fitness-metric-card{min-height:220px}
  #fitness-app .fitness-results-summary .fitness-card{align-items:flex-start}
}

@media print {
  body{background:#fff!important}
  .fitness-no-print,.fitness-site-header,.fitness-site-footer,.fitness-mobile-nav{display:none!important}
  #fitness-app{background:#fff!important;padding:0!important}
  #fitness-app .container{max-width:none!important;padding:0!important}
  #fitness-app .fitness-certificate{box-shadow:none;margin:0;max-width:none;min-height:90vh;page-break-inside:avoid}
}

/* FitOnTrack V1 application brand layer — 2026-09-01 */
#fitness-app .fitness-hero{box-shadow:0 20px 50px rgba(13,20,36,.12)}
#fitness-app .fitness-hero:after{background:var(--fitness-accent);opacity:.13}
#fitness-app .fitness-btn{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
#fitness-app .fitness-btn-primary{box-shadow:0 8px 20px rgba(184,242,60,.13)}
#fitness-app .fitness-btn-primary:hover,#fitness-app .fitness-btn-primary:focus{box-shadow:0 10px 24px rgba(184,242,60,.18);transform:translateY(-1px)}
#fitness-app .fitness-card,#fitness-app .fitness-plan-card,#fitness-app .fitness-day-card,#fitness-app .fitness-exercise-card{box-shadow:0 10px 30px rgba(13,20,36,.04)}
#fitness-app .fitness-card-label{color:#475569}
#fitness-app .fitness-progress span{background:linear-gradient(90deg,var(--fitness-accent),var(--fitness-success))}
#fitness-app .fitness-link{color:#334155;text-decoration:underline;text-decoration-color:rgba(184,242,60,.9);text-decoration-thickness:2px;text-underline-offset:3px}
#fitness-app .fitness-link:hover,#fitness-app .fitness-link:focus{color:var(--fitness-primary)}
#fitness-app .fitness-choice input:checked + span{background:var(--fitness-primary);border-color:var(--fitness-primary);color:#fff}
#fitness-app .fitness-empty-icon,#fitness-app .fitness-guidance-icon{background:rgba(184,242,60,.15);color:var(--fitness-primary)}
#fitness-app .fitness-exercise-card.is-completed{border-color:var(--fitness-success);box-shadow:0 8px 28px rgba(57,217,138,.12)}
#fitness-app .fitness-btn-complete{background:rgba(57,217,138,.16);color:#12633c}
#fitness-app .fitness-workout-actionbar-inner{background:var(--fitness-primary)}
#fitness-app .fitness-program-meta span,#fitness-app .fitness-prescription strong,#fitness-app .fitness-prescription span,#fitness-app .fitness-history-values span{background:#f1f5f9}
@media (prefers-reduced-motion:reduce){#fitness-app .fitness-btn{transition:none!important;transform:none!important}}

/* FitOnTrack V2 application refinement — screenshot pass 2026-09-01 */
#fitness-app .fitness-progress-summary .fitness-card{background:#fff}
#fitness-app .fitness-exercise-card{grid-template-columns:minmax(210px,31%) 1fr}
#fitness-app .fitness-exercise-image{background:linear-gradient(145deg,#eef2f6,#f8fafc);min-height:225px}
#fitness-app .fitness-exercise-placeholder{color:#8a98aa;min-height:225px}
#fitness-app .fitness-exercise-placeholder i{color:#94a3b8;opacity:.62}
#fitness-app .fitness-exercise-number{background:rgba(13,20,36,.92);box-shadow:0 6px 18px rgba(13,20,36,.12)}
#fitness-app .fitness-exercise-content{padding:24px 26px}
#fitness-app .fitness-exercise-content h3{font-size:24px;line-height:1.2}
#fitness-app .fitness-btn-complete{background:var(--fitness-accent);color:var(--fitness-primary);box-shadow:0 7px 18px rgba(184,242,60,.14)}
#fitness-app .fitness-btn-complete:hover,#fitness-app .fitness-btn-complete:focus{background:var(--fitness-accent-hover);color:var(--fitness-primary);transform:translateY(-1px)}
#fitness-app .fitness-exercise-card.is-completed .fitness-btn-complete{background:rgba(57,217,138,.16);box-shadow:none;color:#12633c;transform:none}
#fitness-app .fitness-workout-actionbar-inner{border:1px solid rgba(184,242,60,.10)}
#fitness-app .fitness-notice-info{background:#edf6fd;color:#285e7d}
#fitness-app .fitness-notice-warning{background:#fff7df;color:#74530b}
#fitness-app .fitness-dashboard-shortcuts .fitness-btn-primary{box-shadow:0 8px 20px rgba(184,242,60,.12)}
@media(max-width:767px){#fitness-app .fitness-exercise-card{grid-template-columns:1fr}#fitness-app .fitness-exercise-image,#fitness-app .fitness-exercise-placeholder{min-height:190px}#fitness-app .fitness-exercise-content{padding:21px 18px}#fitness-app .fitness-exercise-content h3{font-size:22px}}
