.avatar-upload-zone{position:relative;cursor:pointer;transition:all .2s ease;display:inline-flex;width:8rem;height:8rem;border-radius:50%}.avatar-upload-zone:hover .avatar-upload-zone__overlay{opacity:1}.avatar-upload-zone:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.avatar-upload-zone--active .avatar-upload-zone__overlay{opacity:1;background-color:rgba(0,0,0,.7)}.avatar-upload-zone__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2xs);background-color:rgba(0,0,0,.6);color:white;border-radius:50%;opacity:0;transition:opacity .2s ease;pointer-events:none}.avatar-upload__modal-body{display:flex;flex-direction:column;gap:var(--space-m);padding:var(--space-s) 0}.avatar-upload__canvas-container{position:relative;width:min(100%,20rem,50vh);aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;background-color:var(--surface-subtle);border:3px solid var(--border)}.avatar-upload__canvas{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.avatar-upload__canvas--dragging{cursor:grabbing!important}.avatar-upload__controls{display:flex;flex-direction:column;gap:var(--space-s);padding:0 var(--space-m);flex-shrink:0}.avatar-upload__zoom-slider{width:100%;height:.6rem;border-radius:var(--radius-full);background-color:var(--surface-subtle);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.avatar-upload__zoom-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:2rem;height:2rem;border-radius:50%;background-color:var(--primary);cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.avatar-upload__zoom-slider::-webkit-slider-thumb:hover{background-color:var(--primary-hover);transform:scale(1.1)}.avatar-upload__zoom-slider::-moz-range-thumb{width:2rem;height:2rem;border-radius:50%;background-color:var(--primary);cursor:pointer;-moz-transition:all .2s ease;transition:all .2s ease;border:none}.avatar-upload__zoom-slider::-moz-range-thumb:hover{background-color:var(--primary-hover);transform:scale(1.1)}@media (max-height:600px){.avatar-upload__canvas-container{width:min(100%,16rem,45vh)}}@media (max-height:500px){.avatar-upload__canvas-container{width:min(100%,14rem,40vh)}}.switch{all:unset;position:relative;width:4.4rem;height:2.4rem;background-color:var(--switch-track-bg,var(--fg-muted));border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.switch:hover{background-color:var(--switch-track-bg-hover,var(--fg-subtle))}.switch:focus-visible{outline:var(--focus-ring-width) solid var(--primary);outline-offset:var(--focus-ring-offset)}.switch[data-state=checked]{background-color:var(--switch-track-bg-checked,var(--fg))}.switch[data-state=checked]:hover{background-color:var(--switch-track-bg-checked-hover,var(--fg-subtle))}.switch:disabled{opacity:.5;cursor:not-allowed}.switch__thumb{display:block;width:2rem;height:2rem;background-color:var(--bg);border-radius:var(--radius-full);box-shadow:var(--shadow-s);transition:transform var(--transition-fast);transform:translateX(.2rem);will-change:transform}.switch[data-state=checked] .switch__thumb{transform:translateX(2.2rem)}.switch--sm{width:3.6rem;height:2rem}.switch--sm .switch__thumb{width:1.6rem;height:1.6rem}.switch--sm[data-state=checked] .switch__thumb{transform:translateX(1.8rem)}.switch--lg{width:5.2rem;height:2.8rem}.switch--lg .switch__thumb{width:2.4rem;height:2.4rem}.switch--lg[data-state=checked] .switch__thumb{transform:translateX(2.6rem)}.select__trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:-moz-fit-content;width:fit-content;padding:var(--space-s) var(--space-m);font-size:var(--t-m);line-height:1.5;color:var(--fg);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);cursor:pointer;transition:all var(--transition-fast);outline:none}.select__trigger:hover{border-color:var(--border-strong)}.select__trigger:focus{border-color:var(--primary);box-shadow:0 0 0 3px hsla(from var(--primary) h s l/.1)}.select__trigger[data-placeholder]{color:var(--fg-muted)}.select__trigger:disabled{opacity:.5;cursor:not-allowed;background-color:var(--surface-subtle)}.select__trigger-icon{width:1.6rem;height:1.6rem;flex-shrink:0;transition:transform var(--transition-fast)}.select__trigger[data-state=open] .select__trigger-icon{transform:rotate(180deg)}.select__content{position:relative;z-index:var(--z-dropdown);min-width:8rem;max-height:38rem;overflow:hidden;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.select__viewport{padding:var(--space-2xs)}.select__item{position:relative;display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-s);font-size:var(--t-m);line-height:1.5;color:var(--fg);background-color:transparent;border-radius:var(--radius-xs);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;transition:all var(--transition-fast)}.select__item:hover,.select__item[data-highlighted]{background-color:var(--surface-elevated)}.select__item[data-state=checked]{background-color:var(--primary-subtle);color:var(--primary);font-weight:500}.select__item:disabled,.select__item[data-disabled]{opacity:.5;pointer-events:none}.select__item-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem}.select__item-text{flex:1}.select__label{padding:var(--space-xs) var(--space-s);font-size:var(--t-s);font-weight:600;color:var(--fg-muted)}.select__separator{height:1px;margin:var(--space-2xs) 0;background-color:var(--border)}.select__scroll-button{display:flex;align-items:center;justify-content:center;height:2.5rem;background-color:var(--surface);border:none;cursor:pointer;color:var(--fg)}.select__scroll-button:hover{background-color:var(--surface-elevated)}.select__trigger--sm{padding:var(--space-xs) var(--space-s);font-size:var(--t-s)}.select__trigger--lg{padding:var(--space-m) var(--space-l);font-size:var(--t-l)}.progress{position:relative;height:.8rem;overflow:hidden;background-color:var(--surface-subtle)}.progress,.progress__indicator{width:100%;border-radius:var(--radius-full)}.progress__indicator{height:100%;flex:1 1 0%;background-color:var(--primary);transition:transform var(--transition-normal)}.progress--success .progress__indicator{background-color:var(--success)}.progress--warning .progress__indicator{background-color:var(--warning)}.progress--error .progress__indicator{background-color:var(--error)}.progress--info .progress__indicator{background-color:var(--info)}.progress--sm{height:.4rem}.progress--md{height:.8rem}.progress--lg{height:1.2rem}.progress--xl{height:1.6rem}.progress--indeterminate .progress__indicator{width:40%;animation:progress-indeterminate 2s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}50%{transform:translateX(250%)}to{transform:translateX(-100%)}}.progress-circular{position:relative;width:4rem;height:4rem}.progress-circular svg{transform:rotate(-90deg)}.progress-circular__track{fill:none;stroke:var(--surface-subtle);stroke-width:4}.progress-circular__indicator{fill:none;stroke:var(--primary);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset var(--transition-normal)}.progress-circular--success .progress-circular__indicator{stroke:var(--success)}.progress-circular--warning .progress-circular__indicator{stroke:var(--warning)}.progress-circular--error .progress-circular__indicator{stroke:var(--error)}