/* Final site-wide mobile containment and contrast pass. */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
main,main>*,.card,.legal-copy,form,fieldset,.inline,.sectionhead,.heading{min-width:0;max-width:100%}
h1,h2,h3,h4,p,li,label,strong,small,.btn,button,a{overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%}

/* Buttons must remain legible regardless of the component they sit inside. */
.btn:not(.secondary):not(.dark):not(.danger){background:#5b21b6!important;border-color:#5b21b6!important;color:#fff!important}
.btn.secondary{background:#fff!important;border:2px solid #5b21b6!important;color:#4c1d95!important}
.btn.dark{background:#151017!important;border-color:#151017!important;color:#fff!important}
.btn.danger{background:#7b1830!important;border-color:#7b1830!important;color:#fff!important}
.btn:disabled,.btn[aria-disabled="true"]{background:#e2dce8!important;border-color:#e2dce8!important;color:#625a69!important;opacity:1}
.visual-workout-preview-card .tag,.live-workout-launch .tag{background:#2c174f!important;border:1px solid #c9f55c!important;color:#e1ff94!important}
.training-insight-grid>button:nth-child(2),.training-insight-grid>button:nth-child(3){color:#fff!important}
.training-insight-grid>button:nth-child(2) small,.training-insight-grid>button:nth-child(3) small{color:#f2edf7!important;opacity:1}

/* Every task opens as a contained, scrollable sheet rather than stretching the page. */
.task-dialog{
  width:min(680px,calc(100vw - 32px))!important;
  max-width:680px!important;
  max-height:calc(100dvh - 32px)!important;
  margin:auto!important;
  padding:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border-radius:18px!important;
}
.task-dialog::backdrop{background:rgba(15,9,20,.58)}
.task-dialog .dialog-toolbar{position:sticky!important;top:0;z-index:20;min-width:0;gap:10px;padding:12px 14px!important;background:#fff!important;border-bottom:1px solid #e0d7e8}
.task-dialog .dialog-toolbar strong{min-width:0;line-height:1.25}
.task-dialog .dialog-toolbar .btn{flex:0 0 auto;max-width:46%;white-space:normal;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
.task-dialog .dialog-toolbar .btn:focus{outline:none}
.task-dialog .dialog-toolbar .btn:focus-visible{outline:3px solid #c9f55c;outline-offset:2px}
.task-dialog>:not(.dialog-toolbar){width:auto!important;max-width:calc(100% - 36px)!important;margin-left:18px!important;margin-right:18px!important}
.task-dialog>.legal-copy{padding-left:0!important;padding-right:0!important}
.task-dialog>.exercise-library-intro{top:67px!important;padding:18px 0 16px!important}
.task-dialog>.exercise-library-grid{padding-bottom:22px}
.task-dialog .legal-copy,.task-dialog form,.task-dialog .restaurant-panel,.task-dialog #portionEditor,.task-dialog #foodRequestEditor{min-width:0!important;max-width:100%!important}
.task-dialog form{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.task-dialog form>button.btn:last-of-type{position:sticky;bottom:8px;z-index:12;width:100%;margin-top:18px;box-shadow:0 8px 24px rgba(30,12,48,.24)}
.task-dialog input,.task-dialog select,.task-dialog textarea{width:100%;min-width:0;font-size:16px}
.task-dialog textarea{min-height:112px;resize:vertical}
.task-dialog table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.task-dialog .inline,.task-dialog .builder-grid,.task-dialog .diagnostic-grid,.task-dialog .retention-grid{min-width:0}

@media(max-width:760px){
  main{width:100%;padding-left:14px!important;padding-right:14px!important}
  main>.card,main>.visual-workout-preview-card,main>.live-workout-launch{width:100%;margin-left:0!important;margin-right:0!important}
  .card{border-radius:16px}
  .visual-workout-preview-card,.live-workout-launch{padding:20px!important;border-radius:20px!important}
  .visual-workout-preview-card h2,.live-workout-launch h2,.training-insights-hub h2{font-size:clamp(1.35rem,6vw,1.75rem)!important;line-height:1.15}
  .visual-workout-preview-card p,.live-workout-launch p{font-size:1rem;line-height:1.55}
  .visual-workout-preview-card .tag,.live-workout-launch .tag{display:inline-flex;max-width:100%;padding:7px 10px;border-radius:999px;white-space:normal}
  .training-insights-hub{padding:16px!important;border-radius:18px!important}
  .training-insight-grid{grid-template-columns:1fr!important;gap:10px!important}
  .training-insight-grid>button{width:100%;min-height:0!important;padding:15px!important}
  .sectionhead,.heading{gap:10px}
  .sectionhead>*{min-width:0}
  .quick-actions,.compact-modules,.more-links{min-width:0}
  .inline,.builder-grid,.diagnostic-grid,.retention-grid{grid-template-columns:minmax(0,1fr)!important}
  .task-dialog{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;border-radius:16px!important}
  .task-dialog .legal-copy{padding-left:0!important;padding-right:0!important}
  .task-dialog>:not(.dialog-toolbar){max-width:calc(100% - 32px)!important;margin-left:16px!important;margin-right:16px!important}
  .task-dialog .dialog-toolbar{align-items:center}
  .task-dialog .dialog-toolbar .btn{font-size:.78rem;padding:9px 10px;min-height:42px}
  .task-dialog form>button.btn:last-of-type{bottom:6px;min-height:50px}
  .peak-chat-fab{right:12px!important;bottom:calc(145px + env(safe-area-inset-bottom,0px))!important;width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;padding:0!important;justify-content:center}
  .notification-fab{right:12px!important;bottom:calc(87px + env(safe-area-inset-bottom,0px))!important;width:50px!important;height:50px!important}
  .peak-chat-panel{right:12px!important;bottom:calc(202px + env(safe-area-inset-bottom,0px))!important;width:calc(100vw - 24px)!important;max-width:390px!important;max-height:calc(100dvh - 230px)!important}
}

@media(max-width:380px){
  main{padding-left:10px!important;padding-right:10px!important}
  .card,.visual-workout-preview-card,.live-workout-launch,.training-insights-hub{padding:14px!important}
  .task-dialog{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
  .task-dialog .dialog-toolbar{padding:10px!important}
  .task-dialog>:not(.dialog-toolbar){max-width:calc(100% - 24px)!important;margin-left:12px!important;margin-right:12px!important}
}
