/* Local photo preparation: no external images, fonts or services. */
.photo-prepare-dialog { border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem; width:min(1000px,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; color:var(--ink); }
.photo-prepare-dialog::backdrop { background:#18394099; }
.photo-prepare-dialog h2 { margin:0; }
.photo-prepare-dialog .dialog-toolbar { display:flex; justify-content:space-between; gap:1rem; align-items:center; flex-wrap:wrap; margin-bottom:1rem; }
.photo-prepare-dialog .photo-prepare-options { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.photo-prepare-dialog .photo-prepare-options .field { flex:1 1 180px; min-width:0; }
.photo-prepare-dialog input[type=file] { max-width:100%; }
.photo-prepare-dialog .photo-prepare-stats { display:flex; gap:1rem; flex-wrap:wrap; }
.photo-prepare-dialog .photo-prepare-stats > div { flex:1 1 250px; min-width:0; }
.photo-prepare-dialog dt { font-weight:700; }
.photo-prepare-dialog dd { margin:0; overflow-wrap:anywhere; }
.photo-prepare-dialog .photo-prepare-preview { overflow:auto; max-height:55vh; background:#e7ecee; margin:.75rem 0; }
.photo-prepare-dialog .photo-prepare-preview img { display:block; max-width:100%; height:auto; margin:auto; cursor:zoom-in; }
.photo-prepare-dialog .photo-prepare-preview.is-fullsize img { max-width:none; margin:0; cursor:zoom-out; }
.photo-prepare-dialog [data-prepare-status].save-error { color:var(--error); }
.photo-source-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:.6rem 0; }
.photo-source-actions button { min-width:0; min-height:44px; white-space:normal; }
