.avatar{position:relative;overflow:hidden}.avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.avatar .avatar-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}.employee-photo-editor{padding:0 0 22px;margin:0;border:0;border-bottom:1px solid #e2eae5;min-width:0}.employee-photo-editor>legend{padding:0;margin-bottom:17px;font-size:.85rem;font-weight:600;color:#273b2e}.employee-photo-layout{display:flex;align-items:center;gap:22px}.employee-photo-preview{position:relative;display:grid;place-items:center;width:96px;height:96px;flex-shrink:0;border:1px solid #cfe2d5;border-radius:50%;background:#e9f5ed;color:#4b7f5a;box-shadow:0 0 0 4px #f5faf6;overflow:hidden;transition:border-color .2s,box-shadow .2s}.employee-photo-preview>span{font-size:30px;font-weight:550}.employee-photo-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:white}.employee-photo-copy{min-width:0;flex:1}.employee-photo-copy>p{font-size:.78rem;color:#687c70;line-height:1.8;margin:0}.employee-photo-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:12px}.employee-photo-actions .button{font-size:.7rem;min-height:36px;padding:8px 10px}.employee-photo-control{position:relative;display:inline-flex;align-items:center;max-width:100%}.employee-photo-control>input{max-width:100%;font-size:.75rem}.employee-photo-control>label{margin:0;cursor:pointer}.employee-photo-control.is-enhanced>input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.employee-photo-control.is-enhanced:has(input:focus-visible){outline:3px solid #278345;outline-offset:3px;border-radius:8px}.employee-photo-status{font-size:.69rem;color:#427752;line-height:1.8;overflow-wrap:anywhere}.employee-photo-status:not(:empty){margin-top:11px}.employee-photo-error{font-size:.75rem;color:#a34533;line-height:1.8}.employee-photo-error:not(:empty){margin-top:15px;border:1px solid #ecd5cb;background:#fff6f1;border-radius:8px;padding:11px 13px}.employee-photo-error ul{padding-left:17px;margin:0}.employee-photo-editor>.field-help{display:block;font-size:.67rem;line-height:1.8;margin-top:15px}.employee-photo-editor.is-pending .employee-photo-preview{border-color:#65b980;box-shadow:0 0 0 4px #ebf7ef}.employee-photo-editor.is-removing .employee-photo-preview{border-style:dashed;border-color:#a4b9ac}.employee-photo-control.is-busy{opacity:.65}.employee-photo-control.is-busy input{pointer-events:none}.employee-photo-preview[aria-busy=true]{opacity:.7}
@media(max-width:600px){.employee-photo-layout{align-items:flex-start;gap:17px}.employee-photo-preview{width:76px;height:76px;margin-top:3px}.employee-photo-preview>span{font-size:24px}.employee-photo-copy>p{font-size:.73rem}.employee-photo-actions{gap:4px}.employee-photo-actions .button{font-size:.67rem;padding:8px 9px}.employee-photo-editor>.field-help{font-size:.65rem}.employee-photo-status{font-size:.67rem}}
@media(max-width:380px){.employee-photo-layout{flex-wrap:wrap}.employee-photo-copy{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.employee-photo-preview{transition:none}}
/* The native dialog also applies a viewport maximum; its form must fit it. */
#edit-person-dialog>.dialog__surface{width:100%;min-width:0}
