.detail-modal .appointment-client-link{font:inherit;color:inherit;text-align:left;background:none;border:0;padding:0;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--secondary,#ad8b29);text-underline-offset:4px;cursor:pointer}
.detail-modal .appointment-origin{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--accent,#fff8fb)}
.detail-modal .appointment-photo-preview{display:grid;gap:10px}
.detail-modal .appointment-photo-button{display:flex;gap:14px;align-items:center;max-width:100%;min-height:96px;text-align:left;white-space:normal}
.detail-modal .appointment-photo-button img,.detail-modal .appointment-photo-placeholder{width:96px;height:96px;flex:none;object-fit:contain;border-radius:12px;background:#faf7f8}
.detail-modal .appointment-photo-placeholder{display:grid;place-items:center}
.closed-history-row .closed-history-open{min-height:44px;white-space:normal;max-width:100%}
.closed-photo-choices{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.closed-photo-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.closed-photo-previews article{display:grid;gap:8px;padding:10px;border:1px solid #eadde1;border-radius:14px;min-width:0}
.closed-photo-previews img{width:100%;height:120px;object-fit:contain;border-radius:10px}
.closed-photo-upload button{min-height:44px;white-space:normal}
