#photo-upload{padding:20px;border:1px solid var(--line,#e3e7ec);border-radius:12px;margin:18px 0;background:#fafbfc}.photo-upload-button{min-height:46px;border:2px solid var(--red,#e5092c)!important;color:var(--red,#e5092c);background:white!important;font-weight:700;box-shadow:0 3px 0 #d9dfe7;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.photo-upload-button:hover:not(:disabled){background:#fff0f3!important;box-shadow:0 4px 0 #ccd3dd}.photo-upload-button:active:not(:disabled){transform:translateY(3px);box-shadow:none}.photo-upload-button:disabled{cursor:wait;opacity:.8}.photo-upload-button.is-uploading:before{content:'';display:inline-block;width:14px;height:14px;margin-right:9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:photo-upload-spin .8s linear infinite}.photo-upload-status{margin:12px 0 0;line-height:1.5;color:var(--muted,#657084)}.photo-upload-status.is-success{color:#156b3b;font-weight:600}.photo-upload-status.is-error{color:#a11924;font-weight:600}.profile-photo-preview{display:block;width:128px;height:128px;object-fit:cover;border-radius:14px;margin-top:14px;border:1px solid var(--line,#e3e7ec)}.profile-photo-preview[hidden]{display:none}@keyframes photo-upload-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.photo-upload-button{transition:none}.photo-upload-button.is-uploading:before{animation:none}}
