[data-image-copy-tools] { display: inline-flex; flex: 0 0 auto; }
button.image-copy-button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; min-height: 44px; padding: 8px; flex: 0 0 auto;
  color: white; background: rgba(25, 30, 30, .85);
  border: 1px solid rgba(255, 255, 255, .3); border-radius: 10px; cursor: pointer;
}
button.image-copy-button:disabled { opacity: .5; cursor: wait; }
button.image-copy-button:focus-visible { outline: 3px solid #a5cbb6; outline-offset: 3px; }
button.image-copy-button svg { width: 22px; height: 22px; }
button.image-copy-button[hidden], .image-copy-status[hidden] { display: none !important; }
.image-copy-status {
  position: absolute; z-index: 10; inset-inline: 12px; bottom: 65px;
  width: fit-content; max-width: calc(100% - 24px); margin-inline: auto;
  padding: 9px 14px; border-radius: 10px; color: white; background: rgba(25, 30, 30, .94);
  font: 500 14px/1.4 system-ui, sans-serif; text-align: center; pointer-events: none;
}
.image-copy-status[data-state="done"] { background: #294c3b; }
.lightbox-frame > [data-image-copy-tools] { position: absolute; top: 12px; right: 12px; z-index: 3; }
.daily-report-gallery > [data-image-copy-tools] { position: absolute; top: 10px; right: 80px; z-index: 3; }
[data-lightbox] > [data-image-copy-tools] { position: absolute; top: 14px; inset-inline-end: 74px; z-index: 3; }
dialog.image-copy-lightbox {
  box-sizing: border-box; width: min(1200px, 96vw); height: min(900px, 94dvh);
  max-width: 96vw; max-height: 94dvh; margin: auto; padding: 12px;
  border: 0; border-radius: 14px; background: #17271f; color: white;
}
dialog.image-copy-lightbox[open] { display: flex; flex-direction: column; gap: 10px; }
dialog.image-copy-lightbox::backdrop { background: rgba(0, 0, 0, .8); }
.image-copy-lightbox-toolbar { display: flex; gap: 8px; align-items: center; justify-content: flex-end; flex: 0 0 auto; }
.image-copy-lightbox-toolbar a, .image-copy-lightbox-toolbar button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; border-radius: 10px; padding: 8px 12px; font: 500 14px/1.2 system-ui, sans-serif;
  color: white; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .3);
  text-decoration: none; cursor: pointer;
}
.image-copy-lightbox > img { width: 100%; height: 100%; min-height: 0; object-fit: contain; flex: 1 1 auto; }
