.client-photo-crop-dialog { width: min(470px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 16px; overflow: auto; background: #fff; color: #203650; }
.client-photo-crop-dialog::backdrop { background: #102647b8; }
.client-photo-crop-card { padding: 16px; }
.client-photo-crop-card header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.client-photo-crop-card h2 { margin: 0; font-size: 19px; }
.client-photo-crop-card header button { flex: none; width: 38px; height: 38px; padding: 0; border: 1px solid #dce6f2; border-radius: 9px; background: #f5f8fc; color: #64748b; font-size: 24px; cursor: pointer; }
#clientPhotoCropStatus { min-height: 36px; margin: 10px 0; color: #72839a; font-size: 12px; line-height: 1.5; }
#clientPhotoCropCanvas { display: block; width: min(100%, 340px, 45dvh); height: auto; aspect-ratio: 1; margin: auto; border-radius: 8px; background: #203650; touch-action: none; cursor: grab; }
#clientPhotoCropCanvas:active { cursor: grabbing; }
.client-photo-crop-zoom { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; gap: 10px; margin: 14px 0 8px; }
.client-photo-crop-zoom button { height: 40px; border: 1px solid #dce6f2; border-radius: 8px; color: #2363bf; background: #f5f8fc; font-size: 21px; cursor: pointer; }
.client-photo-crop-zoom input { box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0; height: 40px; accent-color: #2363bf; }
.client-photo-crop-note { margin: 8px 0; color: #72839a; font-size: 11px; line-height: 1.6; }
#resetClientPhotoCrop { padding: 7px 0; border: 0; color: #2363bf; background: none; font-size: 12px; cursor: pointer; }
.client-photo-crop-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.client-photo-crop-actions button { min-height: 40px; padding: 9px; font-size: 13px; }
.client-photo-crop-card :focus-visible { outline: 2px solid #2363bf; outline-offset: 2px; }
@media (max-width: 760px) {
  .client-photo-crop-card { padding: 12px; }
  .client-photo-crop-card h2 { font-size: 17px; }
}
