.photo-strip { display: flex; gap: 7px; margin-top: 7px; }
.photo-thumb { width: 46px; height: 46px; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--paper-deep); }
.photo-thumb img { width: 100%; height: 100%; object-fit: cover; }

.device-toggle { margin-left: 10px; color: var(--accent-dark); }
.device-list { padding: 3px 0 14px 14px; border-bottom: 1px solid var(--line); border-left: 2px solid var(--paper-deep); }
.device-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 9px 0; }
.device-list small { color: var(--muted); font-size: .72rem; }

.conflicts { margin-bottom: 26px; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--line)); border-radius: 12px; background: rgb(255 255 255 / 24%); }
.conflict-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding-top: 11px; border-top: 1px solid var(--line); font-size: .8rem; }

.photo-viewer { position: fixed; z-index: 30; inset: 0; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr); grid-template-rows: auto minmax(0, 1fr); gap: 18px 26px; padding: 20px max(20px, calc((100vw - 1180px) / 2)); overflow: auto; background: var(--paper); animation: viewer-in .2s ease both; }
.photo-viewer > header { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }
.viewer-actions { display: flex; gap: 18px; align-items: center; }
.photo-viewer > img { width: 100%; height: 100%; min-height: 50svh; object-fit: contain; background: var(--paper-deep); }
.photo-details { align-self: start; }
.photo-details h3 { margin: 0 0 6px; font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; font-weight: 500; overflow-wrap: anywhere; }
.photo-details > p { margin: 0 0 14px; }
.photo-details pre { max-height: 46svh; margin: 16px 0 0; padding: 13px; overflow: auto; border: 1px solid var(--line); background: rgb(255 255 255 / 26%); font-size: .7rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }

@keyframes viewer-in { from { opacity: 0; transform: translateY(5px); } }

@media (max-width: 760px) {
    .conflict-row { grid-template-columns: 1fr auto; }
    .conflict-row span { grid-column: 1 / -1; }
    .device-list > div { grid-template-columns: 1fr auto; }
    .device-list > div > button { grid-column: 2; }
    .photo-viewer { display: block; padding: 16px; }
    .photo-viewer > header { display: flex; margin-bottom: 12px; }
    .photo-viewer > img { height: auto; max-height: 58svh; min-height: 35svh; }
    .photo-details { padding: 18px 0 50px; }
    .photo-details pre { max-height: none; }
}
