.photo-input{border:1px dashed var(--accent);border-radius:12px;padding:16px;background:var(--surface);margin-top:16px}.photo-input.photo-drag{outline:3px solid var(--accent);outline-offset:3px;background:var(--accent-soft)}.photo-input p{margin:8px 0}.photo-input input[type=file]{display:block;max-width:100%;font-size:14px;margin-top:8px}.photo-input .actions{flex-wrap:wrap}.photo-gallery{display:flex;flex-wrap:wrap;gap:12px}.photo-gallery figure{width:180px;margin:8px 0;display:grid;align-content:start;gap:8px}.photo-image{height:120px;display:grid;place-items:center;background:var(--bg);border-radius:10px;padding:5px;overflow:hidden;text-align:center;font-size:12px}.photo-image img{width:100%;height:110px;object-fit:contain}.photo-gallery figcaption{overflow-wrap:anywhere}.photo-gallery small{display:block;color:var(--muted)}.photo-gallery button{min-height:44px}.photo-input :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.photo-expanded-image{display:block;width:100%;max-height:420px;object-fit:contain;margin:16px 0}
.photo-input[data-photo-documents=true] label.button{position:relative;overflow:hidden}
.photo-input[data-photo-documents=true] input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.photo-input[data-photo-documents=true] label.button:focus-within{outline:3px solid var(--accent);outline-offset:3px}
