/* HF.12.1/2/4 · photos are stored in private server; CSS affects display only. */
#progressPhotoSection .progress-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
#progressPhotoSection .progress-photo-preview{aspect-ratio:3/4;min-height:170px;display:grid;place-items:center;overflow:hidden}
#progressPhotoSection .progress-photo-preview img,
#memberProgressRows .progress-history-photos img{width:100%;height:100%;object-fit:contain!important;object-position:center;display:block}
#memberProgressRows .progress-history-photos figure>div{aspect-ratio:3/4;min-height:120px;overflow:hidden}
.hf12-photo-open{display:grid;place-items:center;width:100%;height:100%;min-height:0;min-width:0;padding:0!important;margin:0!important;border:0;background:transparent;color:inherit;cursor:zoom-in}
.hf12-photo-open img{max-width:100%;max-height:100%;}
.hf12-photo-open:focus-visible{outline:2px solid #edc46d;outline-offset:-3px;border-radius:8px}
.hf12-viewer[hidden]{display:none!important}
.hf12-viewer{position:fixed;inset:0;z-index:3999;display:grid;place-items:center;padding:16px}
.hf12-viewer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.93)}
.hf12-viewer-shell{position:relative;z-index:1;display:flex;flex-direction:column;width:min(1100px,100%);max-height:calc(100dvh - 32px);background:#0e0d0c;border:1px solid rgba(218,172,84,.35);border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.8);overflow:hidden}
.hf12-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;color:#ead7b8;font-size:14px}
.hf12-viewer-close{background:#23201a;border:1px solid rgba(217,170,79,.45);border-radius:8px;padding:12px 16px;color:#f8ecd7;cursor:pointer}
.hf12-viewer-image{display:grid;place-items:center;position:relative;min-height:160px;max-height:calc(100dvh - 116px);overflow:auto;padding:8px;background:#080808}
.hf12-viewer-image img{display:block;max-width:100%;max-height:calc(100dvh - 135px);width:auto;height:auto;object-fit:contain}
.hf12-viewer-image p{color:#ded4c1;font-size:12px;position:absolute;bottom:12px;background:#080808aa;padding:3px 8px;border-radius:6px}
.hf12-viewer-image p:empty{display:none}
@media(max-width:760px){
 #progressPhotoSection .progress-photo-grid,
 .q692-progress-dialog #progressPhotoSection .progress-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
 #progressPhotoSection .progress-photo-input{min-width:0;padding:7px;gap:5px!important}
 #progressPhotoSection .progress-photo-preview{min-height:120px;aspect-ratio:3/4!important}
 #progressPhotoSection .hf921-photo-action{min-height:38px;font-size:10px;white-space:normal}
 #memberProgressRows .progress-history-photos{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hf12-viewer{padding:5px}
 .hf12-viewer-shell{max-height:calc(100dvh - 10px)}
 .hf12-viewer-image{max-height:calc(100dvh - 90px)}
 .hf12-viewer-image img{max-height:calc(100dvh - 110px)}
}
@media(max-width:490px){
 #progressPhotoSection .progress-photo-grid,
 .q692-progress-dialog #progressPhotoSection .progress-photo-grid{grid-template-columns:1fr!important;gap:9px}
 #progressPhotoSection .progress-photo-preview{aspect-ratio:3/4!important;max-height:280px}
}
