#modal.reference-modal{width:min(1180px,96vw);max-height:93dvh}
#modal.reference-modal .modal-head{padding:22px 28px 18px}
#modal.reference-modal .modal-body{padding:0 28px 26px}
.photo-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0 18px}
.photo-eyebrow{display:block;font-size:9px;color:#18867b;letter-spacing:1.8px;font-weight:650}
#photoReference h3{font-size:20px;margin:7px 0 8px;line-height:1.45;color:#233e4c}
.photo-intro p{margin:0;color:#7c8e97;font-size:12px;line-height:1.8}
.photo-total{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:110px;border-left:1px solid #e1e9eb;padding-left:24px}
.photo-total b{font-size:36px;line-height:1.2;color:#168b7e;font-weight:400}
.photo-total span{font-size:10px;color:#7c8e97;margin-top:5px}
.photo-context{display:flex;flex-direction:column;gap:6px;padding:13px 16px;background:#edf6f3;border-left:3px solid #37a495;border-radius:0 6px 6px 0;font-size:11px;line-height:1.8}
.photo-context b{color:#24756c;font-size:12px}.photo-context span{color:#718b85}
.photo-toolbar{padding:20px 0 13px;display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.photo-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex:1}
.photo-filters button{border:1px solid #dfe7e9;background:#f8fafb;padding:8px 10px;border-radius:20px;white-space:nowrap;font-size:10px;color:#6a7d89}
.photo-filters button small{font-size:9px;opacity:.7;margin-left:4px}
.photo-filters button[aria-pressed=true]{background:#168b7e;border-color:#168b7e;color:white}
.photo-filters button:hover{border-color:#68b4a9}.photo-search{display:flex;align-items:center;gap:8px;flex:0 0 225px}
.photo-search>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.photo-search input{width:100%;border:1px solid #dce6e8;border-radius:7px;padding:10px 12px;font:inherit;font-size:11px;background:#fff;color:#29424f;outline:none}
.photo-search input:focus{border-color:#27978a;box-shadow:0 0 0 3px #27978a13}
.photo-results{display:flex;justify-content:space-between;gap:15px;color:#81939d;font-size:10px;padding:3px 0 14px;line-height:1.6}
.photo-results [data-photo-count]{color:#3d7770}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.photo-card{margin:0;border:1px solid #e0e8e8;border-radius:9px;overflow:hidden;background:#fff;min-width:0}
.photo-card-image{display:block;width:100%;height:180px;background:#e9eeeb;position:relative;padding:0;overflow:hidden}
.photo-card-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}
.photo-card-image:hover img{transform:scale(1.035)}
.photo-image-action{position:absolute;right:8px;bottom:8px;padding:5px 8px;background:#14382bd4;color:#fff;border-radius:4px;font-size:9px}
.photo-card figcaption{padding:13px 14px 15px}
.photo-card-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#93a1a7}
.photo-card-meta>span:first-child{color:#43877b}
#photoReference .photo-card h3{font-size:13px;margin:8px 0 6px;letter-spacing:0;font-weight:600}
.photo-card p{font-size:11px;line-height:1.85;color:#80909a;margin:0 0 12px;min-height:60px}
.photo-locate{width:100%;text-align:center}
.photo-scope{font-size:10px;color:#91a0a7;line-height:1.9;margin:23px 0 0;padding-top:16px;border-top:1px solid #e7edef}
.photo-empty{grid-column:1/-1;padding:50px 20px;text-align:center;background:#f5f8f9;border-radius:8px;color:#597783}
.photo-empty p{font-size:12px;color:#8c9aa2;margin:12px 0 20px}
.photo-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 18px;font-size:11px;color:#8799a3;flex-wrap:wrap}
.photo-detail-nav>div{display:flex;gap:8px}
.photo-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:23px;align-items:start}
.photo-viewer{border-radius:8px;border:1px solid #dce6e5;overflow:hidden;background:#122d39;min-width:0}
.photo-image-pan{height:min(57dvh,540px);overflow:auto;display:flex;align-items:center;justify-content:center;background:#122d39}
.photo-full-image{width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.photo-full-image img{display:block;width:100%;height:100%;object-fit:contain}
.photo-image-pan.is-zoomed{display:block}
.is-zoomed .photo-full-image{display:block;width:max-content;height:auto;cursor:zoom-out}
.is-zoomed .photo-full-image img{width:auto;height:auto;max-width:none;max-height:none;object-fit:initial}
.photo-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;background:#eef4f1;font-size:10px;color:#758c83}
.photo-detail-info{padding:10px 0}
#photoReference .photo-detail-info h3{font-size:19px;margin:9px 0 12px}
.photo-detail-info>p{font-size:12px;color:#7e9099;line-height:1.9;margin:0 0 18px}
.photo-linked-scene{background:#edf5f1;padding:14px;border-radius:7px;display:flex;flex-direction:column;gap:8px}
.photo-linked-scene small{font-size:10px;color:#7f978d}.photo-linked-scene strong{font-size:15px;font-weight:550;color:#30796b}
.photo-linked-scene .primary{margin-top:4px;padding:10px 12px}
.photo-related-steps{display:flex;flex-direction:column;gap:7px;margin:20px 0 16px}
.photo-related-steps b{font-size:11px;color:#577481;margin-bottom:3px}
.photo-related-steps span{font-size:10px;color:#7b9099;padding:6px 8px;border:1px solid #e5ecec;border-radius:4px;background:#fafcfc}
.photo-file-source{font-size:9px;color:#9caaaf}
.step-photo-link{margin-left:auto;color:#168b7e;border:1px solid #d3e5df;background:#f2f8f5;border-radius:4px;padding:4px 6px;font-size:9px;letter-spacing:0;white-space:nowrap}
.task-kicker{flex-wrap:wrap}
@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-search{flex-basis:100%}.photo-detail-layout{grid-template-columns:minmax(0,1fr) 215px}.photo-card-image{height:190px}}
@media(max-width:680px){#modal.reference-modal{width:96vw;max-height:94dvh}#modal.reference-modal .modal-head{padding:18px}#modal.reference-modal .modal-body{padding:0 16px 20px}.photo-intro{padding:18px 0;gap:10px}.photo-total{min-width:70px;padding-left:12px}.photo-total b{font-size:29px}#photoReference h3{font-size:17px}.photo-intro p{font-size:10px}.photo-context{font-size:10px;padding:11px 12px}.photo-filters button{padding:7px 9px;font-size:9px}.photo-results{font-size:9px;flex-wrap:wrap;gap:4px}.photo-grid{gap:12px}.photo-card-image{height:135px}.photo-card figcaption{padding:11px}#photoReference .photo-card h3{font-size:12px}.photo-card p{font-size:10px;min-height:75px}.photo-card-meta{font-size:8px}.photo-detail-layout{grid-template-columns:1fr}.photo-image-pan{height:48dvh}.photo-detail-info{padding:2px 0}.photo-related-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.photo-related-steps b{grid-column:1/-1}.photo-detail-nav{padding:16px 0 13px;gap:10px}.photo-detail-nav>span{font-size:10px}.photo-viewer-footer{font-size:9px}.photo-viewer-footer>span{max-width:65%}}
@media(max-width:390px){.photo-grid{grid-template-columns:1fr}.photo-card-image{height:185px}.photo-card p{min-height:0}.photo-detail-nav>span{order:3;flex-basis:100%}}
