/* Consolidated UX fixes. Remove this file and consolidated-fixes.js to revert. */
.pt-consolidated-fixes .athlete-lab-hub{display:block!important;visibility:visible!important;opacity:1!important;content-visibility:visible!important}
.pt-consolidated-fixes.pt-athlete-hub-revision .athlete-lab-head{padding:20px 22px 15px;background:radial-gradient(circle at 85% 0,color-mix(in srgb,var(--interface-accent) 9%,transparent),transparent 50%)}
.pt-consolidated-fixes.pt-athlete-hub-revision .athlete-lab-head h2{font-size:clamp(25px,3vw,34px);letter-spacing:-.025em}
.pt-consolidated-fixes .athlete-hub-nav{border-color:#26333e;background:#0c1319}
.pt-consolidated-fixes .athlete-today-summary article,.pt-consolidated-fixes .athlete-hub-today>.athlete-lab-panel{border-color:#26343f;background:#ffffff04}
.pt-flow-caption,.pt-short-caption{margin:5px 0 12px!important;color:#8f9eaa!important;font-size:11px!important;line-height:1.35!important}
.pt-info{position:relative;display:inline-flex;vertical-align:middle}
.pt-info-button{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid #526170;border-radius:50%;background:#111a22;color:#b9c7d2;font:800 12px/1 "DM Sans";cursor:pointer}
.pt-info-button:hover,.pt-info-button:focus-visible,.pt-info-button[aria-expanded="true"]{border-color:var(--interface-accent,#67adf5);color:#fff;outline:none}
.pt-info-popover{position:absolute;z-index:30;left:50%;bottom:calc(100% + 9px);width:min(280px,75vw);padding:11px 12px;border:1px solid #3a4a58;border-radius:10px;background:#0a1117;color:#d6e0e8;font:500 11px/1.45 "DM Sans";box-shadow:0 12px 30px #0009;transform:translateX(-50%)}
.pt-info-popover[hidden]{display:none!important}
.strength-rank-card .pt-info,.weekly-coach-card h2 .pt-info{margin-left:5px}
.profile-settings-tabs{position:sticky;top:-1px;z-index:8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:22px -4px 14px;padding:5px;border:1px solid #334250;border-radius:12px;background:#111820}
.profile-settings-tabs button{min-width:0;min-height:40px;padding:6px 4px;border:0;border-radius:8px;background:transparent;color:#8fa0ae;font:800 10px "DM Sans";cursor:pointer}
.profile-settings-tabs button[aria-selected="true"]{background:var(--interface-accent,#5ba4f5);color:#07111a}
[data-settings-panel][hidden]{display:none!important}
.profile-modal [data-settings-panel]{margin-top:0}
.profile-modal .data-backup.pt-short-caption{margin:0}

/* Secondary nutrition metrics share a single row at every width. */
.pt-consolidated-fixes #nutrition-view .macro-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.pt-consolidated-fixes #nutrition-view .macro-card.calories{grid-column:1/-1}
.pt-consolidated-fixes #nutrition-view .macro-card.protein,
.pt-consolidated-fixes #nutrition-view .macro-card.carbs,
.pt-consolidated-fixes #nutrition-view .macro-card.fats{grid-column:span 2}
.pt-consolidated-fixes #nutrition-view .macro-grid .macro-card.sugar,
.pt-consolidated-fixes #nutrition-view .macro-grid .macro-card.caffeine{grid-column:span 3!important}
.pt-consolidated-fixes #nutrition-view .macro-card.nutrient:not(.caffeine){grid-column:span 2}
.pt-consolidated-fixes .topbar .pt-mobile-streak,
.pt-consolidated-fixes .topbar .date-label{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #394857;border-radius:999px;background:#111922;color:#c6d1da;font:700 10px "DM Sans";letter-spacing:0;white-space:nowrap}

@media(max-width:800px){
  .pt-consolidated-fixes #today-view{overflow:visible!important}
  .pt-consolidated-fixes #today-view .athlete-lab-hub{position:relative!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;margin:20px 0 24px!important;overflow:visible!important}
  .pt-consolidated-fixes.pt-athlete-hub-revision .athlete-lab-head{padding:17px 15px 13px}
  .pt-consolidated-fixes.pt-athlete-hub-revision .athlete-lab-head h2{font-size:26px}
  .pt-consolidated-fixes .athlete-hub-nav{position:relative;display:flex;gap:3px;width:100%;padding:4px 6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pt-consolidated-fixes .athlete-hub-nav::-webkit-scrollbar{display:none}
  .pt-consolidated-fixes .athlete-hub-nav button{flex:1 0 78px;min-height:44px;padding:0 7px;white-space:nowrap}
  .pt-consolidated-fixes .athlete-hub-view{padding:12px}
  .pt-consolidated-fixes .athlete-today-summary{grid-template-columns:1fr;gap:8px}
  .pt-consolidated-fixes .athlete-today-summary article{min-height:104px;padding:14px}
  .pt-consolidated-fixes .athlete-hub-view>.athlete-lab-panel{min-width:0}
  .pt-consolidated-fixes .coach-checkin-grid,.pt-consolidated-fixes .meal-panel form,.pt-consolidated-fixes .manual-nutrient-grid{grid-template-columns:1fr!important}
  .pt-consolidated-fixes .coach-checkin-grid>*{grid-column:1!important}
  .pt-consolidated-fixes .meal-panel form>*{min-width:0}
  .pt-consolidated-fixes .profile-modal{overflow-x:hidden!important}
  .pt-info-popover{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;transform:none}
  .pt-consolidated-fixes #nutrition-view .macro-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .pt-consolidated-fixes #nutrition-view .macro-card.calories{grid-column:1/-1!important}
  .pt-consolidated-fixes #nutrition-view .macro-card.protein,
  .pt-consolidated-fixes #nutrition-view .macro-card.carbs,
  .pt-consolidated-fixes #nutrition-view .macro-card.fats{grid-column:span 2!important}
  .pt-consolidated-fixes #nutrition-view .macro-card.sugar,
  .pt-consolidated-fixes #nutrition-view .macro-card.caffeine{grid-column:span 3!important}
  .pt-consolidated-fixes #nutrition-view .macro-card.nutrient:not(.caffeine){grid-column:span 3}
}

@media(max-width:420px){
  .profile-settings-tabs{grid-template-columns:repeat(4,minmax(66px,1fr));overflow-x:auto}
  .profile-settings-tabs button{font-size:9px}
  .pt-consolidated-fixes .athlete-signal-grid,.pt-consolidated-fixes .athlete-lab-form,.pt-consolidated-fixes .athlete-metrics-grid{grid-template-columns:1fr!important}
}

/* Accessibility, contrast & touch target improvements */
.eyebrow { color: #9bb0c4 !important; }
.workout-exercise .input-row {
  display: grid;
  grid-template-columns: 32px minmax(58px, 1fr) minmax(50px, 1fr) 52px auto 34px !important;
  gap: 6px;
  align-items: center;
}
.workout-exercise .input-row .remove-set {
  min-width: 34px !important;
  min-height: 34px !important;
  display: inline-grid;
  place-items: center;
  padding: 0;
  font-size: 16px !important;
  color: #aebbc6;
  background: #242e38;
  border: 1px solid #33404c;
  border-radius: 6px;
  cursor: pointer;
}
.workout-exercise .input-row .remove-set:hover {
  background: #3e262c;
  color: #ff9b9b;
}
.workout-exercise .input-row .remove-set:after { content: none !important; }
.close-button, .search-easter-egg-close, .athlete-calendar-close {
  min-width: 44px;
  min-height: 44px;
  display: inline-grid;
  place-items: center;
}
@media (max-width: 480px) {
  .topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 12px;
  }
  .topbar .date-label {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Unit system toggle */
.unit-system-control {
  display: grid;
  gap: 7px;
  margin-bottom: 4px;
}
.unit-system-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 4px;
  background: #111820;
  border: 1px solid #334250;
  border-radius: 10px;
}
.unit-system-toggle button {
  padding: 9px 12px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #8fa0ae;
  font: 700 12px "DM Sans", sans-serif;
  cursor: pointer;
  transition: all 0.15s ease;
}
.unit-system-toggle button.active,
.unit-system-toggle button[aria-checked="true"] {
  background: var(--interface-accent, #5ba4f5);
  color: #07111a;
}

/* Mobile Modals & Fixed Header/Scrollable Body/Sticky Footer Architecture */
.modal-backdrop {
  z-index: 1200;
  padding: 20px;
  background: rgba(5, 10, 16, 0.82) !important;
  backdrop-filter: blur(8px);
}
.workout-modal,
.profile-modal,
.program-modal,
.food-modal,
.import-modal,
.custom-workout-modal,
.journal-modal,
.cloud-welcome-modal,
.account-auth-card,
.plan-choice-modal,
.exercise-guide-modal {
  display: flex !important;
  flex-direction: column !important;
  max-height: min(90vh, 780px) !important;
  overflow: hidden !important;
  border: 1px solid #32404d !important;
  border-radius: 18px !important;
  background: #111820 !important;
  color: #f1f5f8 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6) !important;
}

.workout-modal > header,
.profile-modal > .close-button,
.import-modal > .close-button,
.custom-workout-modal > .close-button,
.program-modal > .close-button {
  flex-shrink: 0;
}

.profile-modal form,
.workout-modal > #workout-exercises,
.program-modal > form,
.import-modal textarea,
.custom-workout-modal > .movement-library,
.food-modal > section,
.journal-modal > textarea {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 4px;
}

.workout-modal footer,
.profile-modal form > button[type="submit"],
.custom-workout-modal > #save-custom-plan,
.import-modal > button#import-notes {
  flex-shrink: 0;
  position: sticky;
  bottom: 0;
  z-index: 6;
}

@media (max-width: 768px) {
  .modal-backdrop {
    padding: 0 !important;
    align-items: flex-end !important;
  }
  .workout-modal,
  .profile-modal,
  .program-modal,
  .food-modal,
  .import-modal,
  .custom-workout-modal,
  .journal-modal,
  .cloud-welcome-modal,
  .account-auth-card,
  .plan-choice-modal,
  .exercise-guide-modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 22px 22px 0 0 !important;
    padding: 22px 18px calc(22px + env(safe-area-inset-bottom)) !important;
  }
}

