.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.photo-tile,.existing-photo{position:relative;border:1px solid #d6e5d5;border-radius:12px;overflow:hidden;background:#f4f8f2}.photo-tile img,.existing-photo img{display:block;width:100%;height:94px;object-fit:cover}.photo-tile button{position:absolute;top:4px;right:4px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#a32828;font-size:20px;line-height:1;box-shadow:0 1px 5px #0003}.existing-photo span{display:flex;align-items:center;gap:4px;padding:5px;font-size:11px}.draft-status,.photo-count{color:#497250;font-size:12px}.form-error{padding:9px 11px;border-radius:8px;background:#fff0f0;color:#a32828;font-size:13px}.form-error[hidden]{display:none}@media(min-width:700px){.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-tile img,.existing-photo img{height:120px}}
.server-saved{display:flex;gap:10px;align-items:flex-start;padding:12px;margin-bottom:15px;border:1px solid #b9dcc0;border-radius:12px;background:#eaf7eb;color:#145c2f}.server-saved-icon{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#18864a;color:white;font-weight:800}.server-saved strong,.server-saved span:not(.server-saved-icon){display:block}.server-saved strong{font-size:14px}.server-saved span:not(.server-saved-icon){font-size:12px;line-height:1.4}.saved-link{margin:5px 0 0;padding:0;border:0;background:none;color:#087c3c;font:inherit;font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}
.clearable-field{min-width:0}.clearable-input{position:relative}.report-entry #add-finding .clearable-input input{padding-right:48px}.clearable-input [data-clear-input]{position:absolute;right:5px;bottom:4px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:8px;background:#edf5ec;color:#277447;font-size:24px;line-height:1}.clearable-input [data-clear-input]:focus-visible{outline:3px solid #70bd7b;outline-offset:1px}.clearable-input [data-clear-input][hidden]{display:none}
.report-entry #add-finding .camera-field .hint{display:block;font-size:11px;line-height:1.35}
.upload-progress{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;justify-content:center;gap:9px;width:min(380px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:#184c2e;color:#fff;box-shadow:0 12px 35px #173c294a;transform:translateX(-50%);font-size:13px;font-weight:800;text-align:center}.upload-progress .loading-spinner{flex:none;margin:0}.upload-progress[hidden]{display:none}.camera-field[aria-busy="true"] .camera-capture{opacity:.6;cursor:wait}.camera-field[aria-busy="true"] .camera-capture input{cursor:wait}
