.job-photos{display:grid;gap:22px;min-width:0}
.job-photo-group,.job-photo-files{min-width:0}
.job-photo-group h3,.job-photo-files h3{margin:0 0 10px;font-size:15px;display:flex;align-items:center;gap:8px;color:var(--navy,#17365a)}
.job-photo-group h3 span{font-size:12px;font-weight:600;border-radius:20px;padding:3px 8px;background:#eaf2ff;color:#2458a5}
.job-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.job-photo-card{border:1px solid var(--line,#dbe4ef);border-radius:12px;overflow:hidden;background:var(--surface,#fff);min-width:0}
.job-photo-card[hidden]{display:none}
.job-photo-preview{display:flex;width:100%;height:164px;align-items:center;justify-content:center;padding:7px;border:0;border-bottom:1px solid var(--line,#dbe4ef);background:#f0f5fb;color:#4c6280;font:inherit;font-size:13px;cursor:zoom-in;overflow:hidden}
.job-photo-preview:disabled{opacity:1;cursor:default}
.job-photo-preview:focus-visible{outline:3px solid #2563d6;outline-offset:-4px}
.job-photo-preview img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px}
.job-photo-meta{display:grid;gap:6px;padding:10px;overflow-wrap:anywhere}
.job-photo-meta>strong{font-size:13px;line-height:1.35}
.job-photo-meta>small{font-size:12px;line-height:1.4;color:var(--muted,#50617a)}
.job-photo-meta .job-photo-pending{color:#795400}
.job-photo-meta .actions{flex-wrap:wrap;gap:5px}
.job-photo-meta .btn{font-size:12px;white-space:normal;overflow-wrap:anywhere;max-width:100%;min-height:36px}
.job-photo-meta [hidden]{display:none!important}
.job-photo-dialog.dialog.wide{width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
.job-photo-lightbox{display:flex;justify-content:center;align-items:center;min-height:100px}
.job-photo-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain}
@media(max-width:480px){.job-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-photo-preview{height:135px}.job-photo-meta{padding:8px}.job-photo-meta .actions{flex-direction:column;align-items:stretch}.job-photo-meta .btn{min-height:42px}}
@media(max-width:340px){.job-photo-grid{grid-template-columns:1fr}}
