.pa-profile{display:flex;align-items:center;gap:16px;margin-top:24px}.pa-avatar{width:68px;height:68px;flex:none;border-radius:50%;border:2px solid #bd91a3;background:#ffffff14;color:#c8a2b0;display:grid;place-items:center;overflow:hidden;padding:0}.pa-avatar img,.pa-has-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.pa-avatar svg{width:28px;height:28px}.pa-profile h2{margin:0!important}.pa-profile p{font-size:11px!important;max-width:230px;color:#c5b7bf;margin-top:5px}.pa-link{background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:8px 0;color:inherit;font:inherit;min-height:36px}.pa-dialog{max-width:440px;background:#f8f5f6;color:#332b30}.pa-sheet{padding:24px}.pa-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pa-head h2{margin:0}.pa-sheet p{margin:12px 0;color:inherit}.pa-storage-note{font-size:12px;opacity:.75}.pa-preview{display:flex;justify-content:center;margin:20px 0}.pa-picker{position:relative;display:block;padding:14px;text-align:center;border:1px solid #b58c9b70;border-radius:18px;cursor:pointer;margin:16px 0;background:#b58c9b12}.pa-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.pa-picker:focus-within{outline:2px solid #976578;outline-offset:3px}.pa-canvas-wrap{width:min(100%,260px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:2px solid #bd91a3;margin:18px auto}.pa-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.pa-crop label{display:block;font-size:13px;margin-top:10px}.pa-crop input{display:block;width:100%;accent-color:#956479;min-height:32px}.pa-save{margin-top:16px}.pa-error{font-size:13px;color:#86455f!important}.pa-remove{display:block;margin:auto}.pa-dialog [hidden]{display:none!important}[data-color-mode=night] .pa-dialog{background:#302b30;color:#eee5e9}.pa-has-photo{padding:2px!important;border-color:#bd91a3!important}.pa-profile button:focus-visible{outline:2px solid #bd91a3;outline-offset:4px}

/* Keep the crop editor within the mobile viewport and match cabinet type. */
.pa-dialog{width:calc(100% - 28px)!important;max-width:380px!important;max-height:82dvh!important;overflow-y:auto!important;overscroll-behavior:contain;border-radius:24px!important;background:#f7f6f6!important;color:#332e32!important;-webkit-overflow-scrolling:touch}
.pa-sheet{padding:18px}.pa-head .close{width:32px;height:32px;min-height:32px;flex:none}.pa-head .close svg{width:18px;height:18px}.pa-sheet p{margin:8px 0}.pa-preview{margin:12px 0}.pa-preview .pa-avatar{width:56px;height:56px}.pa-picker{margin:12px 0;padding:10px;min-height:40px}.pa-canvas-wrap{width:min(100%,180px);margin:12px auto}.pa-crop label{margin-top:6px}.pa-crop input{min-height:26px;margin:0}.pa-save{min-height:42px;padding:10px;margin-top:12px}.pa-remove{padding:7px;min-height:36px}
@layer appTypography{
 #profile-photo-dialog :is(p,label,button){font-size:13px!important;line-height:1.5!important}
 #profile-photo-dialog h2{font-size:16px!important;line-height:1.4!important}
 #profile-photo-dialog .pa-storage-note{font-size:11px!important;line-height:1.45!important}
}
[data-color-mode=night] dialog.pa-dialog{background:#2d2d30!important;color:#ece9ec!important;border-color:#ffffff35}
[data-color-mode=night] .pa-dialog .close{background:#ffffff12;color:#e8dce2}
@media(max-height:650px){.pa-canvas-wrap{width:140px}.pa-sheet{padding:14px}.pa-crop input{min-height:22px}}
