.photo-picker{min-width:0;margin:1rem 0}.photo-picker .photo-controls{display:flex;flex-wrap:wrap;gap:.7rem}.photo-picker .photo-choose{position:relative;display:block;padding:.65rem 1rem;border:1px solid #9bb8a5;border-radius:8px;background:#edf4eb;color:#173f32;cursor:pointer;overflow:hidden;font-weight:600}.photo-picker .photo-choose:focus-within{outline:3px solid #a9501e;outline-offset:3px}.photo-picker .photo-choose input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-picker .photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.8rem}.photo-picker .photo-card{min-width:0;max-width:240px;padding:.6rem;border:1px solid #d5e1d5;border-radius:8px;background:#fff}.photo-picker .photo-card img{width:100%;height:115px;object-fit:cover;border-radius:5px}.photo-picker .photo-card p{margin:.25rem 0;font-size:.8rem;overflow-wrap:anywhere}.photo-picker .photo-card button{padding:.35rem .7rem;font-size:.8rem}.photo-picker .photo-state{color:#51654e}.photo-picker progress{width:100%}.photo-picker .photo-notice{font-size:.9rem;color:#963c2d}.photo-picker .photo-notice:empty{display:none}.photo-picker .photo-grid>p{grid-column:1/-1}.photo-picker .photo-choose:has(input:disabled){opacity:.6;cursor:wait}@media(max-width:480px){.photo-picker .photo-controls{display:grid;grid-template-columns:minmax(0,1fr)}.photo-picker .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.photo-transfer-panel{margin:1rem 0;padding:1rem;border:1px dashed #a9bda5;border-radius:12px;background:#f5f8f2}.photo-transfer-content{display:flex;align-items:center;gap:1.2rem}.photo-transfer-qr{flex:none;width:164px;max-width:100%;background:white}.photo-transfer-qr svg{display:block;width:100%;height:auto}.photo-transfer-panel p{font-size:.9rem;margin:.4rem 0;line-height:1.5}.photo-transfer-panel .photo-local-note{padding:.7rem;background:#fff3d7;border-radius:8px;color:#6c4a21}.photo-link-label{display:block;margin:.75rem 0;font-size:.85rem}.photo-link-label input{display:block;width:100%;margin-top:.3rem;padding:.55rem;border:1px solid #c9d8c6;border-radius:6px;background:#fff;color:#173f32;font-size:.8rem}.photo-transfer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.photo-transfer-actions a{font-size:.85rem;color:#315a34;text-decoration:underline}.photo-transfer-actions button{font-size:.85rem}.photo-transfer-panel button:disabled{opacity:.55;cursor:wait}@media(max-width:560px){.photo-transfer-content{align-items:flex-start;flex-direction:column}.photo-transfer-qr{width:180px;align-self:center}.photo-transfer-panel{padding:.8rem}}
