/* UX proposal J: photo browsing without repeated thumbnail hunting. */
.field-gallery-meta{display:flex;align-items:center;gap:12px;min-height:32px;margin:4px 0 8px}.field-gallery-meta .home-gallery-count{margin:0}
.field-gallery-navigation{display:inline-flex;gap:2px;padding:2px;border:1px solid #344c5a;border-radius:8px;background:#101e27}.field-gallery-navigation[hidden]{display:none}
.field-gallery-navigation button{display:grid;place-items:center;width:32px;min-height:30px;padding:0;border:0;border-radius:5px;background:transparent;color:#c4e8ee;font:22px system-ui;cursor:pointer;line-height:1}.field-gallery-navigation button:hover{background:#243e4b}.field-gallery-navigation button[aria-disabled="true"]{opacity:.3;cursor:default}.field-gallery-navigation button:focus-visible{outline:2px solid #4ed9f4;outline-offset:1px}
@media(max-width:760px){.field-gallery-navigation button{width:44px;min-height:44px}.field-gallery-meta{margin-bottom:4px}}

/* Field camera and a bounded queue; shutter remains available during network work. */
.field-photo-modal-card { display:flex; flex-direction:column; overflow:auto; }
.field-gallery-main { flex:0 0 auto; height:min(60vh,680px); height:min(60dvh,680px); min-height:140px; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
.field-gallery-main img { width:100%; height:100%; min-width:0; min-height:0; max-width:100%; max-height:100%; object-fit:contain; }
.field-photo-modal-heading,.field-photo-modal-card .home-gallery-strip { flex-shrink:0; }
#fieldCameraPanel { flex-shrink:0; }
#fieldCameraVideo { display:block; width:100%; max-height:45vh; background:#05090d; object-fit:contain; }
.field-camera-controls { display:flex; align-items:center; gap:10px; padding:10px 0; }
.field-camera-controls button { min-height:48px; }
#fieldCameraShutter { background:#1b8875; color:white; font-weight:bold; }
#fieldCameraFeedback { flex:1; font-size:12px; }
#fieldPhotoQueue { max-height:150px; overflow:auto; flex-shrink:0; }
.photo-queue-item { display:flex; align-items:center; gap:8px; padding:5px 0; }
.photo-queue-item>div { flex:1; min-width:0; }
.photo-queue-item strong,.photo-queue-item span { display:block; overflow-wrap:anywhere; font-size:11px; }
.photo-queue-item span { color:#9fc6be; }
.photo-queue-preview { flex:0 0 48px; height:40px; padding:0; overflow:hidden; }
.photo-queue-preview img { width:100%;height:100%;object-fit:cover; }
.photo-queue-retry { min-height:44px; }
#fieldPhotoQueueNote { font-size:11px; color:#b7c7d1; }
#fieldPhotoPendingBadge { position:fixed; bottom:12px; left:50%; transform:translateX(-50%); z-index:3100; background:#183c41; color:#fff; padding:8px 14px; border-radius:20px; font-size:12px; }
@media(max-width:720px){
 .field-photo-modal-heading { display:block; }
 .field-gallery-actions { max-width:none; justify-content:flex-start; margin-top:8px; }
 .field-gallery-actions .field-gallery-action { min-height:44px; font-size:12px; display:inline-flex; align-items:center; }
 .field-photo-modal-card { max-height:94dvh; }
 .field-gallery-main { height:45vh; height:45dvh; }
 #fieldCameraVideo { max-height:35dvh; }
}

.field-photo-modal-card { position:relative; }
.field-photo-modal-heading { padding-right:34px; }
#closeFieldPhotoBtn { position:absolute; top:10px; right:10px; }
.field-photo-modal-card.is-capturing #fieldGalleryMain,
.field-photo-modal-card.is-capturing #fieldGalleryStrip { display:none; }
.field-camera-controls button { border:1px solid #476675; border-radius:8px; padding:10px 14px; background:#182c37; color:#fff; font:inherit; }
.field-photo-modal-card.is-capturing #fieldCameraVideo { max-height:40dvh; }
.field-gallery-actions { max-width:none; }
.field-photo-more{position:relative;flex:0 0 auto}
.field-gallery-actions>.field-gallery-action{margin:0}
.field-photo-more>summary{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 12px;border:1px solid #354f5e;border-radius:8px;background:#14232d;color:#dce9f0;font-size:12px;font-weight:700;cursor:pointer;list-style:none}
.field-photo-more>summary::-webkit-details-marker{display:none}
.field-photo-more>summary span{font-size:18px;line-height:1}
.field-photo-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:8;display:grid;gap:3px;min-width:196px;padding:6px;border:1px solid #405d6d;border-radius:10px;background:#14212a;box-shadow:0 12px 30px #0007}
.field-photo-menu .field-gallery-action{display:flex!important;width:100%;min-height:44px;justify-content:flex-start;margin:0;border:0;border-radius:5px;background:transparent;text-align:left;white-space:nowrap;box-sizing:border-box;cursor:pointer}
.field-photo-menu .field-gallery-action.hidden{display:none!important}
.field-photo-menu .field-gallery-action:hover{background:#203541}
.field-photo-menu .danger{color:#f2b2b8!important}
.field-gallery-native.disabled-upload{opacity:.45;pointer-events:none}
.field-photo-more>summary:focus-visible,.field-gallery-action:focus-within,.field-photo-menu .field-gallery-action:focus-visible{outline:2px solid #4ed9f4;outline-offset:2px}
@media(max-width:720px){
 .field-photo-modal-heading{padding-right:0}
 .field-photo-modal-heading>div:first-child{padding-right:44px}
 .field-gallery-actions{flex-wrap:nowrap;gap:6px}
 .field-gallery-actions>.field-gallery-action{padding:9px 10px;white-space:nowrap}
 .field-photo-more>summary{min-height:44px;padding:9px 12px}
}
