.photo-hint {
  margin: -10px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}

.log-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}

.log-photo { position: relative; width: 94px; height: 94px; }
.view-photo { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 11px; overflow: hidden; background: #e8efd9; }
.view-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.remove-photo { position: absolute; top: 3px; right: 3px; width: 24px; height: 24px; border: 0; border-radius: 50%; background: #213d34e6; color: white; font-size: 18px; line-height: 1; }
.add-photo-link { display: block; margin-top: 10px; padding: 2px 0; border: 0; background: none; color: #527347; font-size: 12px; font-weight: 700; }
.add-photo-link:hover { text-decoration: underline; }
.add-photo-link:disabled { color: var(--muted); cursor: default; text-decoration: none; }
.photo-dialog { width: min(92vw, 900px); max-height: 92vh; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: 0 24px 80px #132d2b44; }
.photo-dialog::backdrop { background: #172b22c9; }
.photo-dialog img { display: block; max-width: 100%; max-height: calc(92vh - 30px); margin: auto; object-fit: contain; }
.photo-dialog .dialog-close { z-index: 1; top: 16px; right: 16px; width: 32px; height: 32px; border-radius: 50%; background: #213d34e6; color: white; font-size: 23px; }
.toast { max-width: min(560px, calc(100vw - 30px)); text-align: center; line-height: 1.4; }
