.evidence-capture{margin:0}
.evidence-capture-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:0 0 12px;min-width:0}
.evidence-capture-head .btn{flex:0 1 auto;min-width:0;max-width:100%;white-space:normal}
.evidence-capture,.evidence-capture-body,.evidence-capture-head{max-width:100%;box-sizing:border-box}
/* Labelled survey/fitting tiles already launch the camera. Keep just ONE
   add-other action for the device's own camera/library chooser. Pending photo
   recovery is shown automatically below; never hide its Save/Retry controls. */
.evidence-capture[data-evidence-shot-list="true"] .evidence-capture-head [data-evidence-library],
.evidence-capture[data-evidence-shot-list="true"] .evidence-capture-head [data-evidence-toggle]{display:none}
.evidence-capture[data-evidence-shot-list="true"] .evidence-capture-head [data-evidence-camera]{min-width:0}
/* Keep the native input programmatically clickable on Safari without showing
   a second Choose Files control underneath the labelled photo tiles. */
.evidence-capture[data-evidence-shot-list="true"] .evidence-file{
  position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;
}
/* The three camera actions cannot sit on one 320–430px row. Keep their
   full tap areas in the Photos view without forcing sideways page scrolling. */
@media(max-width:720px){
  .evidence-capture-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .evidence-capture[data-evidence-shot-list="true"] .evidence-capture-head{grid-template-columns:minmax(0,1fr)}
  .evidence-capture-head .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:10px 6px;overflow-wrap:anywhere}
  .evidence-capture-head [data-evidence-toggle],.evidence-capture-head>span{grid-column:1/-1}
  .evidence-capture-head>span{min-width:0;overflow-wrap:anywhere}
  .evidence-file input,.evidence-capture-fields input,.evidence-capture-fields select{max-width:100%;min-width:0;box-sizing:border-box}
}
.evidence-capture-head>span{color:var(--muted);font-size:.8rem;line-height:1.5}
.evidence-capture-body{padding:0 0 12px}
.evidence-file{display:block;border:1px dashed var(--line);border-radius:10px;padding:12px;background:var(--surface);cursor:pointer}
.evidence-file>span,.evidence-capture-fields label>span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted)}
.evidence-file input{display:block;width:100%;margin-top:8px;font-size:16px}
.evidence-file small{display:block;margin-top:7px;color:var(--muted);font-size:.8rem;line-height:1.5}
.evidence-capture-fields{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px;margin-top:9px}
.evidence-capture-fields label{display:block;min-width:0}
.evidence-capture-fields select,.evidence-capture-fields input{width:100%;min-height:44px;margin-top:5px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);padding:9px 10px;font:inherit;font-size:16px;outline:none}
.evidence-capture-fields select:focus,.evidence-capture-fields input:focus{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft)}
.evidence-capture-fields em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0}
.evidence-capture-actions{display:flex;align-items:center;gap:9px;margin-top:10px;flex-wrap:wrap}
.evidence-capture-status{font-size:.8rem;line-height:1.5;color:var(--muted);font-weight:750}
.evidence-capture>.evidence-capture-status{margin:0;padding:0 0 12px}
.evidence-capture-status.success{color:var(--green)}
.evidence-capture-status.error{color:#9a3d32}
.evidence-capture .btn,.evidence-prompt,.evidence-verify-btn{min-height:44px}
.evidence-capture .btn:disabled{opacity:.55;cursor:wait}

.evidence-prompts{margin:0;border-top:1px solid var(--line)}
.evidence-prompts-head,.evidence-photo-options>summary{display:flex;align-items:center;gap:8px;min-height:44px;list-style:none;cursor:pointer;font-size:.875rem}
.evidence-prompts-head strong{font-size:inherit;font-weight:600}
.evidence-prompts-head span,.evidence-photo-options>summary span{color:var(--muted);font-size:.8rem}
.evidence-prompts-head::-webkit-details-marker,.evidence-photo-options>summary::-webkit-details-marker{display:none}
.evidence-prompts-head::after,.evidence-photo-options>summary::after{content:'+';margin-left:auto;color:var(--muted);font-size:1.15rem}
.evidence-prompts[open]>.evidence-prompts-head::after,.evidence-photo-options[open]>summary::after{content:'−'}
.evidence-prompts-head:focus-visible,.evidence-photo-options>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.evidence-prompt-list{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 12px}
.evidence-prompt{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);padding:10px 12px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.evidence-prompt:hover{border-color:var(--green);color:var(--green)}
.evidence-prompt:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.evidence-prompt:disabled{opacity:.55;cursor:wait}
.evidence-detail-note{margin:0 0 9px;color:var(--muted);font-size:.8rem;line-height:1.5}

.evidence-row-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:4px}
.evidence-verify-btn{border:0;background:transparent;padding:0;color:var(--ink);font:inherit;font-size:9px;font-weight:850;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.evidence-verify-btn:hover{color:var(--green)}
.evidence-verify-btn:disabled{cursor:wait;opacity:.7}
.evidence-verify-btn.verified{color:var(--green);text-decoration:none}
.evidence-verify-btn.failed{color:#9a3d32;text-decoration:none}
.evidence-verify-status{color:var(--muted);font-size:9px}
.evidence-verify-status.success{color:var(--green)}
.evidence-verify-status.error{color:#9a3d32}
.evidence-tags:empty{display:none}

@media(max-width:600px){
  .evidence-capture-fields{grid-template-columns:1fr}
  .evidence-capture-actions .btn{width:100%}
  .evidence-capture-status{width:100%}
  .evidence-row-actions{align-items:flex-start;flex-direction:column;gap:3px}
}

/* Installer-first photo picker: native input retained for secure file selection. */
.evidence-capture-pickers{display:flex;gap:10px;flex-wrap:wrap}
.evidence-capture-pickers>.btn{min-height:52px;flex:1 1 160px;justify-content:center}
.evidence-file [data-evidence-file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.evidence-file [data-evidence-file-name]{display:block;margin-top:8px;font-size:.85rem;color:var(--muted)}
@media(max-width:600px){.evidence-capture-pickers{display:grid;grid-template-columns:1fr}.evidence-capture-pickers>.btn{width:100%;min-height:54px}}


.evidence-viewer{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;border:1px solid var(--line,#d6d0c5);border-radius:16px;padding:20px;background:var(--paper,#f7f5ef);color:var(--ink,#202522);overflow:auto}
.evidence-viewer::backdrop{background:rgba(0,0,0,.72)}
.evidence-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.evidence-viewer .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.evidence-viewer img{display:block;max-width:100%;max-height:70dvh;object-fit:contain;margin:12px auto}
.evidence-viewer [hidden]{display:none}
.evidence-viewer p{overflow-wrap:anywhere}

/* Saved evidence: installer-friendly summary, with original verification kept available. */
.evidence-photo-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card);gap:10px}
.evidence-photo-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.evidence-photo-card-head strong{font-size:1rem;font-weight:700}
.evidence-photo-card-head small{font-size:.8rem;color:var(--muted)}
.evidence-photo-open{min-height:44px;justify-self:start}
.evidence-photo-caption{margin:0;color:var(--muted);font-size:.875rem}
.evidence-photo-technical{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px;min-width:0}
.evidence-photo-technical>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;color:var(--muted);font-size:.85rem}
.evidence-photo-technical>summary::-webkit-details-marker{display:none}
.evidence-photo-technical>summary::after{content:'+';margin-left:auto}
.evidence-photo-technical[open]>summary::after{content:'−'}
.evidence-photo-technical>summary span{font-size:.75rem}
.evidence-photo-technical>code{display:block;overflow-wrap:anywhere;margin:4px 0 8px;color:var(--muted);font-size:.75rem}
.evidence-photo-technical .evidence-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.evidence-photo-technical .evidence-verify-btn{font-size:.85rem;min-height:44px}
.evidence-photo-technical .evidence-verify-status{font-size:.8rem}
.evidence-photo-technical>summary:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px}
@media(max-width:600px){.evidence-photo-technical .evidence-row-actions{flex-direction:row;align-items:center}}

/* iPhone photo-record density: category is already named on each card. */
[data-evidence-records]:has(.evidence-photo-card) .evidence-tags{display:none}
[data-evidence-records] .evidence-list{gap:10px}
[data-evidence-records] .evidence-photo-card{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:7px;padding:12px 14px;border:1px solid var(--line);border-radius:13px}
[data-evidence-records] .evidence-photo-card:first-child{padding-top:12px;border-top:1px solid var(--line)}
.evidence-photo-card .evidence-photo-card-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;justify-content:center}
.evidence-photo-card .evidence-photo-card-head strong{font-size:.95rem;line-height:1.3}
.evidence-photo-card .evidence-photo-card-head small{margin:0;font-size:.77rem}
.evidence-photo-card .evidence-photo-open{align-self:center;margin:0;min-height:44px;padding:8px 12px}
.evidence-photo-card .evidence-photo-technical{padding-top:3px}
.evidence-photo-card .evidence-photo-technical>summary{min-height:40px}
@media(max-width:600px){
 [data-evidence-records] .evidence-photo-card{padding:10px 12px}
 [data-evidence-records] .evidence-photo-card:first-child{padding-top:10px}
}

/* Private saved-photo previews, loaded only for visible cards. */
[data-evidence-records] .evidence-photo-card{grid-template-columns:minmax(0,1fr) 102px}
.evidence-photo-card .evidence-photo-open{display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;padding:0;min-width:102px;color:var(--ink);font:inherit;cursor:pointer}
.evidence-photo-preview{display:flex;align-items:center;justify-content:center;width:102px;height:92px;background:#efede7;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.evidence-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.evidence-photo-preview img[hidden],.evidence-photo-preview [hidden]{display:none}
.evidence-photo-preview [data-evidence-preview-fallback]{font-size:.8rem;color:var(--muted)}
.evidence-photo-open-label{font-size:.8rem;font-weight:650;text-decoration:underline;text-underline-offset:2px}
.evidence-photo-open:focus-visible{outline:3px solid var(--brand-gold);outline-offset:3px;border-radius:10px}

/* New photos waiting to be saved: clearly marked, each with its own label and a remove. */
.evidence-pending{margin:12px 0 4px;padding:12px;border:1px dashed var(--line);border-radius:12px;background:var(--card)}
.evidence-pending-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 10px}
.evidence-pending-head strong{font-size:.95rem}
.evidence-pending-head span{font-size:.8rem;color:var(--muted)}
.evidence-pending-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.evidence-pending-item{display:grid;grid-template-columns:56px minmax(0,1fr) 44px;align-items:center;gap:10px}
.evidence-pending-thumb{width:56px;height:56px;border-radius:8px;background:#e7e2d8;overflow:hidden}
.evidence-pending-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.evidence-pending-label select{width:100%;min-height:44px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--paper,#fff);color:var(--ink);font:inherit;font-size:16px}
.evidence-pending-remove{width:44px;height:44px;border:1px solid var(--line);border-radius:22px;background:transparent;color:var(--ink);font-size:1.25rem;line-height:1}
.evidence-pending-remove:disabled{opacity:.4}
.evidence-pending .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evidence-file [data-evidence-file-name]:empty{display:none}

/* Open photo: what it is, when, and one plain line about the stored original. */
.evidence-viewer-title{display:flex;flex-direction:column;gap:2px;min-width:0}
.evidence-viewer-title small{color:var(--muted);font-size:.8rem}
.evidence-viewer-original{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.evidence-viewer-original[data-result="mismatch"] span{color:#a2322a}
.evidence-viewer .text-action{min-height:44px}
.evidence-viewer-remove{display:block;margin-top:4px;color:var(--muted)}

/* Shot list: each label is its own camera button. The photo saves itself once it is back. */
.evidence-shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.evidence-shots[hidden]{display:none}
.evidence-shot{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:60px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
.evidence-shot strong{font-size:1rem;font-weight:650;line-height:1.25;overflow-wrap:anywhere}
.evidence-shot small{font-size:.8rem;color:var(--muted);line-height:1.3}
.evidence-shot[data-state="saved"]{border-color:var(--green);background:var(--green-soft,#eef5ee)}
.evidence-shot[data-state="saved"] small{color:var(--green);font-weight:650}
.evidence-shot[data-state="waiting"]{border-color:#b9822e;background:#fbf3e4}
.evidence-shot[data-state="waiting"] small{color:#7a5317;font-weight:650}
.evidence-shot[data-state="saving"] small{color:var(--ink)}
.evidence-shot:focus-visible{outline:2px solid var(--brand-gold,#b08d57);outline-offset:2px}
.evidence-shots-note{margin:0 0 10px;font-size:.8rem;line-height:1.45;color:var(--muted)}
.evidence-shots-note[hidden]{display:none}
.evidence-capture[data-evidence-shot-list] .evidence-capture-head>span{display:none}
.evidence-shot[data-state="unprotected"]{border-color:#9a3d32;background:#f8e7e4}
.evidence-shot[data-state="unprotected"] small{color:#9a3d32;font-weight:700}
