.target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;margin-block:24px}
.target-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;border-block:1px solid var(--line,#d9dedb);padding:18px 0;margin:16px 0}
.target-counts strong,.target-counts span{display:block}.target-counts strong{font-size:1.8rem;line-height:1.2}.target-counts span{font-size:.78rem;color:var(--muted,#52606a)}
.label-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:24px 0}.storage-label{border:1px solid #bbc6cb;border-radius:5px;padding:14px;background:white;color:#142a37;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;break-inside:avoid}.storage-label img{width:110px;height:110px}.storage-label strong{font-size:1rem}.storage-label small{font-size:.75rem}.storage-label.label-selected{border-color:#225269;box-shadow:0 0 0 1px #225269}
.shared-roster-photo{width:100%;height:200px;object-fit:contain;background:#eff1ed;border-radius:8px}.panel details{margin-block:16px}.panel summary{cursor:pointer;min-height:32px}.panel .form-grid{margin-block:16px}
.scanner-dialog canvas{max-width:100%;max-height:60vh}.scanner-dialog video{max-width:100%;max-height:60vh}.scanner-dialog video[data-preview-ready=true]{position:absolute;width:1px;height:1px;opacity:.01}
@media(max-width:600px){.target-counts{gap:8px}.target-counts strong{font-size:1.4rem}.label-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-label{padding:8px}.button-row input{min-width:0;max-width:100%}}
@media print{.label-unselected{display:none!important}.label-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm}.storage-label{box-shadow:none!important;border:1px dashed #999!important;min-height:45mm;break-inside:avoid}.storage-label img{width:25mm;height:25mm}.target-grid{display:block}.target-grid>.panel{break-inside:avoid;margin-bottom:8mm}.target-counts strong{font-size:18pt}}
.labels-print-only{display:none}.storage-label{overflow-wrap:anywhere}.storage-label input[type=checkbox]{margin-right:6px}@media print{.labels-print-only{display:grid}}
.label-scan-photo{position:relative}.label-scan-photo input[type=file]{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.label-scan-photo:focus-within{outline:2px solid var(--accent,#92723b);outline-offset:3px}
.member-section { margin-block: 1.5rem; }
.member-fields { display: grid; gap: 1rem; border: 0; padding: 0; margin: 0; min-width: 0; }
.member-fields label { display: grid; gap: .4rem; }
.member-fields .check-label { display: flex; align-items: center; gap: .6rem; }
.action-row .check-label { display: flex; align-items: center; gap: .6rem; }
.member-list-row { padding-block: 1.25rem; border-bottom: 1px solid var(--border, #d9e0e3); overflow-wrap: anywhere; }
.member-list-row:last-child { border-bottom: 0; }
.member-list-row h3 { font-size: 1.1rem; }
.member-report { display: block; }
.member-report .preserve-lines, .gallery-description { white-space: pre-wrap; overflow-wrap: anywhere; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 1.5rem; }
.gallery-card { padding: 0; overflow: hidden; }
.gallery-card-body { padding: 1.25rem; overflow-wrap: anywhere; }
.gallery-cover { display: flex; aspect-ratio: 4/3; background: #e7ece8; align-items: center; justify-content: center; }
.gallery-cover img { width: 100%; height: 100%; object-fit: cover; }
.gallery-photo { margin: 0; overflow: hidden; }
.gallery-photo img { display: block; width: 100%; height: auto; max-height: 70vh; object-fit: contain; }
.gallery-photo figcaption { margin-block: .75rem; white-space: pre-wrap; overflow-wrap: anywhere; }
