.role-photo{padding:0!important;touch-action:none;overflow:visible!important;container-type:inline-size;}
.print-photo-visual{position:absolute;inset:0;display:block;pointer-events:none;}
.print-photo-image{position:absolute;inset:0;display:block;}
.print-photo-image>img{display:block;width:100%;height:100%;object-fit:cover;}
.print-photo-visual.oval .print-photo-image>img,.print-photo-visual.oval>svg{border-radius:50%;}
.print-photo-image.shadow-soft{filter:drop-shadow(0 2cqw 2.5cqw rgb(0 0 0 / 25%));}
.print-photo-image.shadow-lifted{filter:drop-shadow(0 3cqw 4.5cqw rgb(0 0 0 / 35%));}
.print-photo-visual>svg{position:absolute;inset:0;width:100%;height:100%;}
.print-photo-edit{position:absolute;right:28px;top:3px;z-index:4;display:none;background:white;border:1px solid #d8c8de;border-radius:3px;padding:4px;color:#643182;}
.role-photo.selected .print-photo-edit,.role-photo:hover .print-photo-edit,.role-photo:focus-within .print-photo-edit{display:block;}
.print-photo-edit svg{width:15px;height:15px;}
.print-photo-dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #d9d5de;border-radius:8px;background:white;color:#30363b;overflow:auto;}
.print-photo-dialog::backdrop{background:rgb(20 28 30 / 58%);}
.print-photo-dialog header,.print-photo-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #e0dce4;}
.print-photo-dialog header h2{font-size:20px;margin:0;}.print-photo-dialog header p{margin:4px 0 0;font-size:13px;}
.print-photo-dialog footer{border-top:1px solid #e0dce4;border-bottom:0;justify-content:flex-end;}
.print-photo-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;padding:20px;}
.print-photo-body label{display:grid;gap:6px;font-size:13px;}.print-photo-body select{width:100%;min-height:38px;}
.print-photo-source{display:flex;gap:12px;align-items:end;margin-bottom:12px;}.print-photo-source>label{flex:1;min-width:0;}
.print-photo-source>label.button{display:flex;align-items:center;justify-content:center;gap:8px;}
.print-photo-crop{height:390px;background:#eef1f0;display:grid;place-items:center;overflow:hidden;}.print-photo-crop>img{max-width:100%;max-height:100%;}
.print-photo-dialog .cropper-point,.print-photo-dialog .cropper-line{background-color:#643182;}.print-photo-dialog .cropper-view-box{outline-color:#643182;}
.print-photo-zoom{display:flex;gap:8px;margin-top:10px;}
.print-photo-preview{position:relative;aspect-ratio:3/4;width:140px;margin:10px auto 20px;container-type:inline-size;}
.print-photo-body input[type=range]{width:100%;margin:0;accent-color:#643182;}
.print-photo-body output{font-size:12px;color:#61716c;}
.print-photo-body aside{display:flex;flex-direction:column;gap:12px;}
.print-photo-colors{border:0;margin:0;padding:0;display:flex;gap:10px;}.print-photo-colors legend{font-size:13px;margin-bottom:8px;}
.print-photo-colors button{width:28px;height:28px;border-radius:50%;border:2px solid #c4c8c7;background:var(--swatch);padding:0;}.print-photo-colors button[aria-pressed=true]{outline:2px solid #643182;outline-offset:2px;}
.print-photo-error{margin:0;padding:0 20px 12px;color:#a12622;}
@media(max-width:650px){.print-photo-body{grid-template-columns:1fr;gap:16px;padding:14px;}.print-photo-crop{height:280px;}.print-photo-body aside{display:grid;grid-template-columns:110px minmax(0,1fr);}.print-photo-preview{width:100px;grid-row:span 4;}.print-photo-source{align-items:stretch;flex-direction:column;}}
