.btn-element{&[data-v-3fa8f47d]{align-items:center;display:flex;gap:.5rem;justify-content:center}i[data-v-3fa8f47d]{font-size:1.25em;line-height:1rem}}.custom-spinner[data-v-3fa8f47d]{animation:spin-3fa8f47d 1s linear infinite;height:1.25em;width:1.25em}.opacity-25[data-v-3fa8f47d]{opacity:.25}.opacity-75[data-v-3fa8f47d]{opacity:.75}@keyframes spin-3fa8f47d{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn-content-wrapper[data-v-3fa8f47d]{width:100%}@keyframes fadeScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeScaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes formFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0 0}50%{background-position:100% 0}to{background-position:0 0}}@keyframes iconBounce{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes messageSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes errorSlideOut{0%{max-height:30px;opacity:1}to{max-height:0;opacity:0}}.account-activation-form,.login-form,.request-password-reset-form{animation:formFadeIn .3s ease-out}.form-content{position:relative;z-index:1}.state-overlay{align-items:center;border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.state-overlay--error,.state-overlay--success{background:var(--surface)}.state-display{flex-direction:column;padding:40px 20px;text-align:center}.state-display,.state-icon{align-items:center;display:flex;justify-content:center}.state-icon{animation:iconBounce .6s ease;border:2px solid;border-radius:50%;font-size:66px;height:100px;line-height:100px;margin-bottom:24px;width:100px}.state-icon--success{background:var(--success);color:var(--surface)}.state-icon--error{background:var(--error);color:var(--surface)}.state-message{animation:messageSlideUp .3s ease;color:var(--success);font-size:1.25rem}.state-message--error{color:var(--error)}.fade-scale-enter-active{animation:fadeScaleIn .4s ease-out}.fade-scale-leave-active{animation:fadeScaleOut .3s ease-in}.form-footer-persistent{display:flex;flex-direction:row;justify-content:space-evenly;margin:1.5rem 0 0;text-align:center;z-index:1;i{font-size:1.25rem;height:1rem;margin:0 0 .5rem}.link-label,i{transition:all .3s ease}.link-label{font-size:.7em;line-height:.9rem}}.form-footer-link{color:var(--text-muted);display:flex;flex-direction:column;margin:0 .2rem;text-decoration:none;transition:all .3s ease;&:hover{color:var(--primary)}}.form-title{animation:fadeInDown .5s ease-out;position:relative;z-index:1}.form-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.login-header{margin-bottom:2rem;text-align:center}.login-logo{font-size:3rem;margin-bottom:.5rem}.login-title{color:var(--text);font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{color:var(--text-secondary);font-size:.875rem}.form-group{.subline{font-size:.8rem;font-style:italic;font-weight:400;margin-bottom:-1.25rem;padding:.2rem .5rem}.info,.subline{color:var(--text-muted)}.info{border:1px dashed var(--border-hover);border-radius:.5rem;font-size:.75rem;margin:.25rem .5rem;padding:.25rem .5rem}}.form-label{color:var(--text-muted);display:flex;font-size:.85rem;margin:.5rem 0 .25rem}.form-input{background:var(--border);border:1px solid var(--border);border-radius:1rem;font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:calc(100% - 2rem);&::placeholder{font-size:.875rem}}.form-input:focus{border:1px dashed var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1);outline:none;transform:translateY(-1px)}.form-input.error{animation:inputShake .4s ease;border:1px dashed var(--error)}.form-error{align-items:center;color:var(--error);display:flex;font-size:.875rem;gap:6px;margin-top:6px}.form-error svg{flex-shrink:0;height:14px;width:14px}.form-checkbox-group{align-items:center;display:flex;gap:.5rem}.form-checkbox{cursor:pointer;height:1rem;width:1rem}.form-checkbox-label{color:var(--text-secondary);cursor:pointer;font-size:.875rem}.form-textarea{background:var(--border);border:1px solid var(--border);border-radius:1rem;font-family:inherit;font-size:1rem;line-height:1.5;overflow-y:hidden;padding:.75rem 1rem;resize:none;transition:all .3s ease;width:calc(100% - 2rem)}.btn{overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn:not(:disabled):active{transform:translateY(0)}.btn.btn-loading{animation:gradientShift 2s ease infinite;background:linear-gradient(90deg,var(--primary) 0,var(--primary-hover) 50%,var(--primary) 100%);background-size:200% 100%}.btn-content{align-items:center;display:flex;gap:8px;justify-content:center}.btn i{transition:transform .3s ease}.btn:not(:disabled):hover i{transform:translateX(4px)}.spinner{animation:spin 1s linear infinite;height:20px;width:20px}.alert{border-radius:.5rem;font-size:.875rem;margin-bottom:1.5rem;padding:1rem}.alert-danger{background:var(--surface);border:1px solid var(--border);color:var(--error)}.form-footer{color:var(--text-secondary);font-size:.875rem;margin-top:1.5rem;text-align:center}.form-footer a{color:var(--primary);font-weight:600;text-decoration:none}.form-footer a:hover{text-decoration:underline}.remember-switch{align-items:center;display:flex;gap:.75rem}.remember-switch .form-check-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--border,#dee2e6);border:2px solid var(--border,#dee2e6);border-radius:2rem;cursor:pointer;flex-shrink:0;height:1.5rem;margin:0;outline:none;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:3rem}.remember-switch .form-check-input:checked{background:var(--primary);border-color:var(--primary)}.remember-switch .form-check-input:before{background:#fff;border-radius:50%;content:"";height:calc(1.5rem - 8px);left:2px;position:absolute;top:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);width:calc(1.5rem - 8px)}.remember-switch .form-check-input:checked:before{transform:translateX(1.5rem)}.remember-switch .form-check-label{cursor:pointer;font-size:.9375rem;margin:0;user-select:none}.password-requirements{font-size:.8em;margin-top:.5rem}.requirement{align-items:center;color:var(--error);display:flex;gap:.5rem;padding:.25rem 0;transition:color .2s ease}.requirement.met{color:var(--success)}.requirement i{font-size:1rem;line-height:.8rem}.image-upload{width:100%;.subline{color:var(--text-muted);font-size:.8rem;font-style:italic;font-weight:400;margin:.75rem 0 -1.25rem}}.image-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem;justify-content:space-evenly;margin:2rem 0;&.image-grid--grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));justify-items:center}&.image-grid--flex{display:flex;flex-direction:row;justify-content:space-evenly}}.image-item{align-items:center;cursor:grab;display:flex;flex-direction:column;gap:.5rem;justify-content:flex-start;padding:.5rem;position:relative;transition:transform .2s ease;&.is-dragging{opacity:.5;transform:scale(.95)}&:active{cursor:grabbing}.image-thumbnail{background:none;border:1px dashed var(--border-contrast);cursor:pointer;flex-shrink:0;overflow:hidden;padding:.25rem;position:relative;transition:all .3s ease;&:hover{border-color:var(--secondary);transform:scale(1.05)}&.active{border:1px dashed var(--primary)}&.selected{background:var(--border);transform:scale(1.1)}img{height:100%;object-fit:cover;transition:opacity .4s ease-in-out;width:100%}&.image-thumbnail--round{border-radius:50%;height:6rem;width:6rem;img{border-radius:50%}}&.image-thumbnail--square{border-radius:.75rem;height:8rem;width:8rem;img{border-radius:.5rem}}&.image-thumbnail--rectangle{border-radius:.75rem;height:7rem;width:10rem;img{border-radius:.5rem}}}.image-skeleton{align-items:center;animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--border);cursor:default;display:flex;justify-content:center;&:hover{border-color:var(--border-contrast);transform:none}.skeleton-spinner{i{animation:spin 1s linear infinite;color:var(--text-muted);font-size:2rem}}}.fade-in{animation:imageFadeIn .4s ease-in-out}.image-item-indicator{color:var(--text-secondary);display:flex;flex-direction:row;font-size:.875rem;gap:.25rem}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes imageFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dropzone-compact{align-items:center;background:none;border:1px dashed var(--border-contrast);border-radius:1.5rem;cursor:pointer;display:flex;justify-content:center;margin:1rem .75rem;min-height:5rem;padding:1rem 1.5rem;transition:all .3s ease;&:hover:not(.is-disabled){border-color:var(--primary);transform:scale(1.01)}&.is-dragging{border-color:var(--success)}&.is-disabled{cursor:not-allowed;opacity:.6}&__content{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.75rem;i{color:var(--primary);font-size:1.5rem}small{color:var(--text-muted);font-size:.75rem;margin-left:.5rem}}}.upload-progress{background:var(--border);border-radius:1rem;height:1.5rem;margin:0 .75rem 1rem;overflow:hidden;position:relative;&__fill{background:var(--primary);height:100%;transition:width .3s ease}&__text{color:var(--text-primary);font-size:.75rem;font-weight:500;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}}.image-details{padding:0;&__header{display:flex;flex-wrap:wrap;justify-content:space-between;h3{margin:0}}&__actions{display:flex;gap:.5rem}&__thumbnail{background:none;border:1px dashed var(--border-contrast);display:flex;margin:1rem auto;overflow:hidden;padding:.25rem;&.active{border:1px dashed var(--primary)}img{height:100%;object-fit:cover;width:100%}&.image-details__thumbnail--round{border-radius:50%;height:8rem;width:8rem;img{border-radius:50%}}&.image-details__thumbnail--square{border-radius:.75rem;height:12rem;width:12rem;img{border-radius:.5rem}}&.image-details__thumbnail--rectangle{border-radius:.75rem;height:12rem;width:16rem;img{border-radius:.5rem}}}&__content,&__field{display:flex;flex-direction:column;gap:.5rem}}.image-metadata{border-radius:.75rem;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.25rem 1rem;padding:0 1rem}.metadata-item{align-items:center;display:flex;gap:.25rem;i{font-size:.875rem;line-height:.875rem}}.empty-state{align-items:center;color:var(--text-muted);display:flex;font-size:.875rem;font-style:italic;gap:.5rem;justify-content:center;padding:1rem;i{color:var(--primary)}}.error-messages{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;color:var(--error);display:flex;gap:.5rem;margin:1rem 0;padding:1rem;i{flex-shrink:0;margin-top:.2rem}ul{margin:0;padding-left:1rem}}@media (max-width:768px){.image-thumbnail{height:4rem;width:4rem}.dropzone-compact__content{flex-direction:column;text-align:center}.image-grid{&.image-grid--grid{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}}.image-item{& .image-thumbnail{&.image-thumbnail--square{height:6rem;width:6rem}}}}