/* Planning, private photos and narrow-screen data layouts. */
.main,.panel,.page-heading>div,.training-grid>*,.progress-grid>*,.stats-grid>*,.profile-grid>*,.plan-grid>*,.section-title>div{min-width:0}
.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.progress-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.record-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.record-list>div>span,.history-info b,.plan-card h2,.workout-exercise h2,.page-heading h1{overflow-wrap:anywhere;min-width:0}
.stat-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.history-volume{font-variant-numeric:tabular-nums}
.weight-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto 40px;gap:10px}
.weight-list b{margin-left:0;white-space:nowrap}
.set-head,.saved-set,.set-form{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 82px}
.saved-set>b{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.saved-set>div{justify-content:center}
.set-form .form-error{grid-column:1/-1;text-align:left}
.target-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.target-form .field{margin:0;min-width:0}
.target-form>.btn,.target-form>.form-error{grid-column:1/-1}
.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.upcoming-panel{width:100%}
.scheduled-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--border)}
.scheduled-date{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}
.scheduled-date>b{color:var(--blue);font-size:1rem}
.scheduled-row>.btn{font-size:.85rem}
.planning-help{margin:0 0 24px;background:#162a39;border:1px solid #2c475a;border-radius:10px;padding:14px 18px;color:#a7c5da}
.avatar{overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:-7px 0 26px}
.photo-section .section-title{align-items:center;flex-wrap:wrap}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.photo-card{min-width:0;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:#171e28}
.photo-open{display:block;padding:0;border:0;position:relative;background:#080b11;width:100%;color:white;overflow:hidden}
.photo-open img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .2s}
.photo-open:hover img{transform:scale(1.025)}
.photo-open>span{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:6px;background:#07111dd9;border-radius:7px;padding:8px 10px;font-size:.8rem}
.photo-open>span .icon{width:15px;height:15px}
.photo-caption{padding:17px}
.photo-caption>b{display:block;font-size:.9rem}
.photo-feeling{display:block;margin-top:7px;color:var(--blue);font-size:.85rem}
.photo-caption>p{font-size:.85rem;color:var(--muted);line-height:1.6;margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.photo-tools{display:flex;align-items:center;gap:5px;border-top:1px solid var(--border);padding-top:10px;margin-top:14px}
.photo-tools>.text-link{margin-right:auto;font-size:.8rem}
.photo-dialog{max-width:min(1000px,calc(100vw - 24px))}
.photo-viewer{text-align:center}
.photo-viewer>img{display:block;width:100%;height:auto;max-height:72dvh;object-fit:contain;background:#090c11;border-radius:8px}
.photo-viewer>p{white-space:pre-wrap;overflow-wrap:anywhere}
.photo-file{padding:10px;font-size:.9rem}
.reflection-notes{white-space:pre-wrap;overflow-wrap:anywhere;color:#c4d2e2}
.photo-section .empty-state{padding:22px 10px}
@media(max-width:1199px){.progress-grid{grid-template-columns:minmax(0,1fr)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .dashboard-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile-grid,.plan-grid,.progress-grid,.training-grid{grid-template-columns:minmax(0,1fr)}
 .main{width:100%;padding-left:16px;padding-right:16px}
 .page-heading{width:100%}.page-heading>div{max-width:100%}.page-heading h1{font-size:clamp(1.8rem,8vw,2.15rem)}
 .page-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-actions .btn{font-size:.8rem;padding:10px 8px}
 .stats-grid>.stat-card{padding:17px 14px;min-width:0}
 .stats-grid>.stat-card:last-child{grid-column:1/-1}
 .stats-grid>.stat-card:last-child div{display:block;min-width:0}
 .stats-grid>.stat-card:last-child strong{display:block;margin-right:0}
 .stats-grid .stat-card strong{font-size:clamp(1.5rem,6vw,1.9rem);line-height:1.3}
 .stat-card div>span{font-size:.8rem;overflow-wrap:anywhere}
 .record-list>div{gap:12px;padding:13px 0;font-size:.9rem}
 .record-list{max-height:340px}
 .history-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;width:100%}
 .history-row .history-icon{width:32px;height:36px}.history-row .history-info small{line-height:1.5}.history-volume{font-size:.85rem}
 .history-row>.icon:last-child{display:none}
 .section-title{flex-wrap:wrap}.section-title h2{font-size:1.05rem}
 .bar-chart{gap:7px;min-width:0;padding-top:10px}
 .bar-column{min-width:0}.bar-column small{font-size:.75rem;letter-spacing:-.04em;white-space:nowrap}.bar-column>b{font-size:.9rem}
 .bar-track{min-width:0}
 .weight-list{grid-template-columns:minmax(0,1fr)}.weight-list>div{font-size:.9rem;min-width:0}
 .set-head,.saved-set,.set-form{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 72px;gap:7px}
 .set-form .form-control{padding:8px 2px;font-size:16px;width:100%}
 .set-head{font-size:.72rem;line-height:1.4;align-items:end}.saved-set{min-height:44px}
.pick-row{display:grid;grid-template-columns:minmax(0,1fr) 54px 54px;gap:8px}.pick-label{min-width:0}.pick-label>span{min-width:0;overflow-wrap:anywhere}.pick-label .form-check-input{flex-shrink:0}
.exercise-search-scope{min-width:0}.exercise-search-scope>.field{margin-bottom:12px}.plan-picker,.exercise-choice-list{max-height:48vh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:12px;padding:0 14px;margin:0 0 16px}.exercise-choice{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--border);cursor:pointer}.exercise-choice:last-child{border-bottom:0}.exercise-choice input{width:19px;height:19px;accent-color:var(--blue);flex-shrink:0}.exercise-choice span{display:block;min-width:0}.exercise-choice b,.exercise-choice small{display:block;overflow-wrap:anywhere}.exercise-choice small,.pick-label small,.assignment-pick small{color:var(--muted);font-size:.75rem;margin-top:3px}.exercise-choice:has(input:checked){color:var(--blue)}.exercise-no-results{padding:18px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:10px}.library .section-title>div{min-width:0}.library .section-title small{display:block;margin-top:6px;font-size:.78rem}.assignment-pick>label:first-child{display:flex;gap:8px;align-items:flex-start}.assignment-pick>label:first-child span{min-width:0;overflow-wrap:anywhere}
 .mini-input{width:100%;min-width:0}.mini-input input{width:100%;font-size:16px}
 .training-toolbar>div{flex-wrap:wrap}.training-toolbar .btn{min-width:0}.workout-exercise .section-title{flex-wrap:nowrap}
 .upcoming-panel .section-title{gap:14px}.scheduled-row{grid-template-columns:62px minmax(0,1fr);gap:12px}.scheduled-row>.btn{grid-column:2;justify-self:start}
 .photo-grid{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.photo-caption{padding:13px}.photo-tools{flex-wrap:wrap;gap:2px}.photo-tools>.text-link{flex-basis:100%;min-height:34px;margin:0}
 .photo-section .section-title>.btn{font-size:.85rem}.photo-feeling{font-size:.8rem}.photo-open>span{right:5px;bottom:5px;padding:6px;font-size:.7rem}
 .profile-photo-actions{gap:14px}.reflection-panel .section-title{align-items:flex-start}
 .photo-dialog{margin:8px;max-width:calc(100vw - 16px)}.photo-dialog .modal-body{padding:12px}.photo-viewer>img{max-height:65dvh}
}
@media(max-width:359px){.panel{padding:17px}.workout-exercise{padding:17px 12px}.bar-chart{gap:5px}.bar-column small{font-size:.68rem}.photo-grid{grid-template-columns:minmax(0,1fr)}.photo-tools>.text-link{flex-basis:auto;margin-right:auto}.history-row{grid-template-columns:minmax(0,1fr) auto}.history-row>.history-icon{display:none}.set-head,.saved-set,.set-form{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 66px;gap:5px}.saved-set .btn-icon{width:30px}.saved-check{width:34px}}

body{min-width:0}
.form-control,.form-select{min-width:0;max-width:100%}
