.field-camera {
    position: fixed; inset: 0; margin: 0; padding: 12px;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none;
    overflow: auto; box-sizing: border-box; border: 0; border-radius: 0;
    background: #101820; color: #fff;
}
.field-camera[open] { display: grid; grid-template-rows: auto minmax(120px, 1fr) auto; gap: 12px; }
.field-camera::backdrop { background: #101820; }
.field-camera-heading, .field-camera-evidence { display: flex; align-items: center; gap: 12px; }
.field-camera-heading { justify-content: space-between; min-width: 0; }
.field-camera h2 { margin: 0; font-size: 1.1rem; overflow-wrap: anywhere; }
.field-camera button { min-height: 48px; width: auto; padding: 10px 16px; margin: 0; border: 0; border-radius: 8px; background: #344454; color: #fff; font-weight: 700; font-size: 1rem; }
.field-camera [data-done] { flex-shrink: 0; }
.field-camera [data-capture] { background: #f36c16; grid-column: 1 / -1; min-height: 56px; }
.field-camera button:disabled { opacity: .55; }
.field-camera-preview { position: relative; min-height: 0; min-width: 0; background: #000; border-radius: 8px; overflow: hidden; }
.field-camera video { display: block; width: 100%; height: 100%; object-fit: contain; }
.field-camera-facing { position: absolute; top: 8px; left: 8px; padding: 5px 10px; border-radius: 6px; background: rgba(0,0,0,.7); color: #fff; font-size: .9rem; pointer-events: none; }
.field-camera-controls { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.field-camera-status { font-size: 1rem; line-height: 1.3; }
.field-camera-evidence { font-size: .85rem; line-height: 1.3; }
.field-camera-evidence img { flex-shrink: 0; width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.field-camera-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (min-width: 700px) and (min-aspect-ratio: 4/3) {
    .field-camera[open] { grid-template-columns: minmax(0, 1fr) clamp(220px, 24vw, 300px); grid-template-rows: auto minmax(0, 1fr); }
    .field-camera-heading { grid-column: 1 / -1; }
    .field-camera-controls { overflow: auto; }
    .field-camera-actions { grid-template-columns: 1fr; margin-top: auto; }
    .field-camera-evidence { align-items: flex-start; }
    .field-camera-evidence img { width: 64px; height: 64px; }
}
@media (max-height: 480px) and (orientation: landscape) {
    .field-camera[open] { grid-template-columns: minmax(0, 1fr) 210px; grid-template-rows: auto minmax(0, 1fr); gap: 8px; padding-top: 8px; padding-bottom: 8px; }
    .field-camera-heading { grid-column: 1 / -1; }
    .field-camera-controls { overflow: auto; gap: 6px; }
    .field-camera-evidence span { display: none; }
    .field-camera-actions { grid-template-columns: 1fr; gap: 6px; }
    .field-camera [data-capture] { min-height: 48px; }
}

.local-photo-draft { display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid #64748b; flex-wrap:wrap; }
.local-photo-draft img { width:64px; height:64px; object-fit:cover; border-radius:6px; }
.local-photo-draft div { flex:1; min-width:160px; }
.local-photo-draft small { display:block; margin-top:5px; }
#localPhotoDrafts summary { cursor:pointer; font-weight:700; }
