.sm-image-dialog{box-sizing:border-box;width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--sm-surface,#fff);color:var(--ink);box-shadow:0 24px 80px #0004;}
.sm-image-dialog::backdrop{background:#13251e99;}
.sm-image-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.sm-image-heading h2{margin:0;font-size:22px;}
.sm-image-dialog button{font:inherit;cursor:pointer;border:0;border-radius:9px;padding:10px 14px;background:var(--sm-soft);color:var(--ink);}
.sm-image-heading button{font-size:24px;padding:2px 12px;}
#sm-image-hint{font-size:14px;line-height:1.7;color:var(--muted);margin:14px 0;}
#sm-image-frame{position:relative;max-width:100%;margin:0 auto;background:#eef2f0;overflow:hidden;border-radius:10px;line-height:0;}
#sm-image-frame[data-kind="avatar"]{width:320px;}
#sm-image-canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab;}
#sm-image-canvas:active{cursor:grabbing;}
#sm-image-canvas:focus-visible{outline:3px solid var(--sky);outline-offset:-3px;}
.sm-image-circle{display:none;position:absolute;inset:0;border-radius:50%;border:1px dashed #fff;box-shadow:0 0 0 80px #0003;pointer-events:none;}
#sm-image-frame[data-kind="avatar"] .sm-image-circle{display:block;}
.sm-image-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:14px;}
#sm-image-zoom{flex:1;min-width:80px;min-height:40px;accent-color:var(--sky);}
#sm-image-scale{min-width:3em;}
.sm-image-controls button{font-size:13px;}
#sm-image-result{min-height:1.6em;line-height:1.6;font-size:14px;color:var(--sm-danger);margin:12px 0;}
.sm-image-actions{display:flex;justify-content:flex-end;gap:12px;}
#sm-image-submit{background:var(--sky);color:#fff;}
.sm-image-dialog button:disabled,.sm-image-dialog input:disabled{opacity:.6;cursor:wait;}
.sm-registration-profile{padding:14px;border-radius:12px;background:var(--sm-soft);font-size:14px;line-height:1.7;}
.sm-registration-profile p{margin:0 0 12px;color:var(--muted);}
.sm-registration-avatar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
#sm-register-avatar-preview{width:64px;height:64px;aspect-ratio:1;object-fit:cover;border-radius:50%;}
.sm-registration-profile button{font:inherit;background:var(--sm-surface);color:var(--sky-deep);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;}
.sm-registration-profile label{display:block;margin-bottom:6px;}
#rsignature{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--sm-surface);}
#sm-registration-status{font-size:13px;line-height:1.7;color:var(--muted);}
@media(max-width:480px){.sm-image-dialog{padding:18px;}.sm-image-actions button{flex:1;}}
