@autenticar-me/vue 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  (function() {
3
3
  if (typeof document !== 'undefined') {
4
4
  const style = document.createElement('style');
5
- style.textContent = "\n.atm-overlay[data-v-c347df44] {\n position: fixed;\n inset: 0;\n z-index: 99999;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n overflow-y: auto;\n padding: 1.5rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 1.5rem;\n width: 100%;\n margin: auto;\n}\n.atm-fade-layer[data-v-c347df44] {\n position: fixed;\n inset: 0;\n transition: opacity 0.2s ease;\n pointer-events: none;\n}\n.atm-fade-bg[data-v-c347df44] {\n position: absolute;\n inset: 0;\n opacity: 0.75;\n}\n.atm-modal[data-v-c347df44] {\n position: relative;\n display: inline-block;\n vertical-align: bottom;\n background-color: #ffffff;\n border-radius: 0.5rem;\n text-align: left;\n box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);\n transform: translate(0);\n transition: all 0.2s ease-in-out;\n max-width: 32rem;\n width: 100%;\n max-height: calc(100vh - 3rem);\n display: flex;\n flex-direction: column;\n}\n.atm-close-button[data-v-c347df44] {\n position: absolute;\n top: 1rem;\n right: 1rem;\n color: #9ca3af;\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 0.25rem;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n}\n.atm-close-button[data-v-c347df44]:hover {\n color: #4b5563;\n}\n.atm-icon[data-v-c347df44] {\n width: 1.5rem;\n height: 1.5rem;\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 1.25rem;\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 1.125rem;\n font-weight: 500;\n color: #111827;\n margin: 0;\n margin-bottom: 0.75rem;\n}\n@media (max-width: 768px) {\n.atm-overlay[data-v-c347df44] {\n padding: 1rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 1rem;\n}\n.atm-modal[data-v-c347df44] {\n border-radius: 0.375rem;\n max-height: calc(100vh - 2rem);\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 1rem;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 1rem;\n margin-bottom: 0.75rem;\n}\n.atm-close-button[data-v-c347df44] {\n top: 0.75rem;\n right: 0.75rem;\n}\n.atm-icon[data-v-c347df44] {\n width: 1.25rem;\n height: 1.25rem;\n}\n}\n@media (max-width: 480px) {\n.atm-overlay[data-v-c347df44] {\n padding: 0.5rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 0.5rem;\n}\n.atm-modal[data-v-c347df44] {\n border-radius: 0.25rem;\n max-width: 100%;\n max-height: calc(100vh - 1rem);\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 0.875rem;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 0.9375rem;\n margin-bottom: 0.625rem;\n}\n.atm-close-button[data-v-c347df44] {\n top: 0.5rem;\n right: 0.5rem;\n}\n}\n@media (max-width: 360px) {\n.atm-overlay[data-v-c347df44] {\n padding: 0.25rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 0.25rem;\n}\n.atm-modal[data-v-c347df44] {\n max-height: calc(100vh - 0.5rem);\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 0.75rem;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 0.875rem;\n margin-bottom: 0.5rem;\n}\n}\n\n.atm-login-container[data-v-305a11b6] {\n background: #ffffff;\n border-radius: 8px;\n font-family: 'Segoe UI', system-ui, sans-serif;\n text-align: center;\n}\n.atm-logo-container[data-v-305a11b6] {\n margin-bottom: 12px;\n}\n.atm-logo-placeholder[data-v-305a11b6] {\n width: 44px;\n height: 44px;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f0f0f0;\n border-radius: 50%;\n color: #888;\n font-size: 11px;\n}\n.atm-logo-image[data-v-305a11b6] {\n max-width: 44px;\n max-height: 44px;\n margin: 0 auto;\n display: block;\n border-radius: 4px;\n object-fit: contain;\n}\n.atm-project-name[data-v-305a11b6] {\n margin: 0 0 4px 0;\n font-size: 18px;\n color: var(--v18341448);\n font-weight: 600;\n}\n.atm-welcome-text[data-v-305a11b6] {\n margin: 0 0 16px 0;\n font-size: 14px;\n color: #666;\n}\n.atm-form-group[data-v-305a11b6] {\n margin-bottom: 12px;\n text-align: left;\n}\n.atm-input-label[data-v-305a11b6] {\n display: block;\n margin-bottom: 4px;\n font-size: 13px;\n color: #555;\n font-weight: 500;\n}\n.atm-input-field[data-v-305a11b6] {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.atm-input-field[data-v-305a11b6]:focus {\n outline: none;\n border-color: var(--v18341448);\n box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);\n}\n.atm-input-field[data-v-305a11b6]:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n}\n.atm-field-error[data-v-305a11b6] {\n color: #dc3545;\n font-size: 12px;\n margin-top: 4px;\n text-align: left;\n}\n.atm-alternative-options[data-v-305a11b6] {\n margin-top: 8px;\n text-align: center;\n}\n.atm-forgot-password-link[data-v-305a11b6] {\n font-size: 12px;\n background: none;\n border: none;\n color: var(--v97f49b54);\n cursor: pointer;\n text-decoration: none;\n padding: 0;\n font-family: inherit;\n}\n.atm-forgot-password-link[data-v-305a11b6]:hover:not(:disabled) {\n text-decoration: underline;\n}\n.atm-forgot-password-link[data-v-305a11b6]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.atm-strategy-choice[data-v-305a11b6] {\n text-align: center;\n margin-bottom: 12px;\n}\n.atm-strategy-title[data-v-305a11b6] {\n font-size: 14px;\n color: #666;\n margin-bottom: 12px;\n}\n.atm-strategy-buttons[data-v-305a11b6] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.atm-strategy-button[data-v-305a11b6] {\n width: 100%;\n padding: 10px;\n background: #f8f9fa;\n color: #333;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.atm-strategy-button[data-v-305a11b6]:hover:not(:disabled) {\n background: #e9ecef;\n border-color: var(--v18341448);\n}\n.atm-strategy-button[data-v-305a11b6]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.atm-email-link-text[data-v-305a11b6] {\n font-size: 14px;\n color: #666;\n margin: 0;\n text-align: center;\n}\n.atm-login-button[data-v-305a11b6] {\n width: 100%;\n padding: 10px;\n margin-top: 4px;\n background: var(--v18341448);\n color: #fff;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n min-height: 42px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.atm-login-button[data-v-305a11b6]:hover:not(:disabled) {\n opacity: 0.9;\n transform: translateY(-1px);\n}\n.atm-login-button[data-v-305a11b6]:disabled {\n opacity: 0.8;\n cursor: not-allowed;\n transform: none;\n}\n.button-spinner[data-v-305a11b6] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n color: #fff;\n font-weight: 500;\n}\n.spinner-svg[data-v-305a11b6] {\n animation: spin-305a11b6 1s linear infinite;\n width: 18px;\n height: 18px;\n stroke: #fff;\n}\n.spinner-circle[data-v-305a11b6] {\n stroke-dasharray: 90, 150;\n stroke-linecap: round;\n}\n@keyframes spin-305a11b6 {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n.atm-footer-links[data-v-305a11b6] {\n margin-top: 16px;\n font-size: 13px;\n}\n.atm-signup-text[data-v-305a11b6] {\n color: #666;\n margin-bottom: 6px;\n}\n.atm-signup-link[data-v-305a11b6] {\n color: var(--v97f49b54);\n text-decoration: none;\n cursor: pointer;\n}\n.atm-signup-link[data-v-305a11b6]:hover {\n text-decoration: underline;\n}\n.atm-powered-by[data-v-305a11b6] {\n color: #999;\n font-size: 11px;\n margin: 0;\n}\n@media (max-width: 768px) {\n.atm-project-name[data-v-305a11b6] {\n font-size: 17px;\n}\n.atm-welcome-text[data-v-305a11b6] {\n font-size: 13px;\n margin-bottom: 14px;\n}\n.atm-form-group[data-v-305a11b6] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-305a11b6] {\n font-size: 12px;\n margin-bottom: 4px;\n}\n.atm-input-field[data-v-305a11b6] {\n padding: 8px 10px;\n font-size: 13px;\n}\n.atm-login-button[data-v-305a11b6] {\n font-size: 13px;\n padding: 9px;\n min-height: 40px;\n}\n.atm-strategy-button[data-v-305a11b6] {\n padding: 9px;\n font-size: 13px;\n}\n.atm-footer-links[data-v-305a11b6] {\n margin-top: 14px;\n font-size: 12px;\n}\n}\n@media (max-width: 480px) {\n.atm-logo-placeholder[data-v-305a11b6] {\n width: 40px;\n height: 40px;\n font-size: 10px;\n}\n.atm-logo-image[data-v-305a11b6] {\n max-width: 40px;\n max-height: 40px;\n}\n.atm-project-name[data-v-305a11b6] {\n font-size: 16px;\n margin-bottom: 4px;\n}\n.atm-welcome-text[data-v-305a11b6] {\n font-size: 12px;\n margin-bottom: 12px;\n}\n.atm-form-group[data-v-305a11b6] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-305a11b6] {\n font-size: 12px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-305a11b6] {\n padding: 7px 9px;\n font-size: 13px;\n}\n.atm-login-button[data-v-305a11b6] {\n font-size: 13px;\n padding: 9px;\n min-height: 38px;\n}\n.atm-forgot-password-link[data-v-305a11b6] {\n font-size: 11px;\n}\n.atm-strategy-title[data-v-305a11b6] {\n font-size: 13px;\n margin-bottom: 10px;\n}\n.atm-strategy-button[data-v-305a11b6] {\n padding: 9px;\n font-size: 13px;\n}\n.atm-email-link-text[data-v-305a11b6] {\n font-size: 13px;\n}\n.atm-footer-links[data-v-305a11b6] {\n margin-top: 12px;\n font-size: 12px;\n}\n.atm-powered-by[data-v-305a11b6] {\n font-size: 10px;\n}\n.spinner-svg[data-v-305a11b6] {\n width: 16px;\n height: 16px;\n}\n.button-spinner[data-v-305a11b6] {\n gap: 6px;\n}\n}\n@media (max-width: 360px) {\n.atm-logo-placeholder[data-v-305a11b6] {\n width: 36px;\n height: 36px;\n font-size: 9px;\n}\n.atm-logo-image[data-v-305a11b6] {\n max-width: 36px;\n max-height: 36px;\n}\n.atm-project-name[data-v-305a11b6] {\n font-size: 15px;\n margin-bottom: 3px;\n}\n.atm-welcome-text[data-v-305a11b6] {\n font-size: 11px;\n margin-bottom: 10px;\n}\n.atm-form-group[data-v-305a11b6] {\n margin-bottom: 8px;\n}\n.atm-input-label[data-v-305a11b6] {\n font-size: 11px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-305a11b6] {\n padding: 6px 8px;\n font-size: 12px;\n}\n.atm-login-button[data-v-305a11b6] {\n font-size: 12px;\n padding: 8px;\n min-height: 36px;\n}\n.atm-strategy-button[data-v-305a11b6] {\n padding: 8px;\n font-size: 12px;\n}\n.atm-footer-links[data-v-305a11b6] {\n margin-top: 10px;\n font-size: 11px;\n}\n.spinner-svg[data-v-305a11b6] {\n width: 14px;\n height: 14px;\n}\n}\n\n.atm-notification-container[data-v-f5e47084] {\n font-family: Arial, Helvetica, sans-serif;\n position: fixed;\n top: 20px;\n right: 20px;\n z-index: 99999;\n pointer-events: none;\n}\n.atm-notification[data-v-f5e47084] {\n padding: 12px 16px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 250px;\n max-width: 350px;\n pointer-events: auto;\n}\n.atm-notification--error[data-v-f5e47084] {\n background: #ff3333;\n color: #FFF;\n}\n.atm-notification--success[data-v-f5e47084] {\n background: #00a622;\n color: #FFF;\n}\n.atm-notification--warning[data-v-f5e47084] {\n background: #ffa500;\n color: #FFF;\n}\n.atm-notification-enter-active[data-v-f5e47084] {\n transition: all 0.3s ease-out;\n}\n.atm-notification-leave-active[data-v-f5e47084] {\n transition: all 0.3s ease-in;\n}\n.atm-notification-enter-from[data-v-f5e47084] {\n transform: translateX(100%);\n opacity: 0;\n}\n.atm-notification-leave-to[data-v-f5e47084] {\n transform: translateX(100%);\n opacity: 0;\n}\n@media (max-width: 768px) {\n.atm-notification-container[data-v-f5e47084] {\n top: 16px;\n right: 16px;\n left: 16px;\n}\n.atm-notification[data-v-f5e47084] {\n min-width: auto;\n max-width: 100%;\n padding: 11px 14px;\n font-size: 13px;\n}\n}\n@media (max-width: 480px) {\n.atm-notification-container[data-v-f5e47084] {\n top: 12px;\n right: 12px;\n left: 12px;\n}\n.atm-notification[data-v-f5e47084] {\n padding: 10px 12px;\n font-size: 12px;\n border-radius: 5px;\n}\n}\n@media (max-width: 360px) {\n.atm-notification-container[data-v-f5e47084] {\n top: 10px;\n right: 10px;\n left: 10px;\n}\n.atm-notification[data-v-f5e47084] {\n padding: 9px 11px;\n font-size: 11px;\n border-radius: 4px;\n}\n}\n\n.atm-signup-container[data-v-e15f7da9] {\n width: 100%;\n border-radius: 8px;\n font-family: 'Segoe UI', system-ui, sans-serif;\n text-align: center;\n}\n.atm-logo-container[data-v-e15f7da9] {\n margin-bottom: 12px;\n}\n.atm-logo-placeholder[data-v-e15f7da9] {\n width: 44px;\n height: 44px;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f0f0f0;\n border-radius: 50%;\n color: #888;\n font-size: 11px;\n}\n.atm-logo-image[data-v-e15f7da9] {\n max-width: 44px;\n max-height: 44px;\n margin: 0 auto;\n display: block;\n border-radius: 4px;\n object-fit: contain;\n}\n.atm-project-name[data-v-e15f7da9] {\n margin: 0 0 4px 0;\n font-size: 18px;\n color: var(--v1ca6007a);\n font-weight: 600;\n}\n.atm-welcome-text[data-v-e15f7da9] {\n margin: 0 0 16px 0;\n font-size: 14px;\n color: #666;\n}\n.atm-form-group[data-v-e15f7da9] {\n margin-bottom: 12px;\n text-align: left;\n}\n.atm-input-label[data-v-e15f7da9] {\n display: block;\n margin-bottom: 4px;\n font-size: 13px;\n color: #555;\n font-weight: 500;\n}\n.atm-input-field[data-v-e15f7da9] {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.atm-input-field[data-v-e15f7da9]:focus {\n outline: none;\n border-color: var(--v1ca6007a);\n box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);\n}\n.atm-input-field[data-v-e15f7da9]:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n}\n.atm-field-error[data-v-e15f7da9] {\n color: #dc3545;\n font-size: 12px;\n margin-top: 4px;\n text-align: left;\n}\n.atm-signup-button[data-v-e15f7da9] {\n width: 100%;\n padding: 10px;\n margin-top: 4px;\n background: var(--v1ca6007a);\n color: #fff;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n min-height: 42px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.atm-signup-button[data-v-e15f7da9]:hover:not(:disabled) {\n opacity: 0.9;\n transform: translateY(-1px);\n}\n.atm-signup-button[data-v-e15f7da9]:disabled {\n opacity: 0.8;\n cursor: not-allowed;\n transform: none;\n}\n.button-spinner[data-v-e15f7da9] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n color: #fff;\n font-weight: 500;\n}\n.spinner-svg[data-v-e15f7da9] {\n animation: spin-e15f7da9 1s linear infinite;\n width: 18px;\n height: 18px;\n stroke: #fff;\n}\n.spinner-circle[data-v-e15f7da9] {\n stroke-dasharray: 90, 150;\n stroke-linecap: round;\n}\n@keyframes spin-e15f7da9 {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n.atm-footer-links[data-v-e15f7da9] {\n margin-top: 16px;\n font-size: 13px;\n}\n.atm-login-text[data-v-e15f7da9] {\n color: #666;\n margin-bottom: 6px;\n}\n.atm-login-link[data-v-e15f7da9] {\n color: var(--v12f1ab11);\n text-decoration: none;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n.atm-login-link[data-v-e15f7da9]:hover:not(.disabled-link) {\n text-decoration: underline;\n}\n.atm-login-link.disabled-link[data-v-e15f7da9] {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n.atm-powered-by[data-v-e15f7da9] {\n color: #999;\n font-size: 11px;\n margin: 0;\n}\n@media (max-width: 768px) {\n.atm-project-name[data-v-e15f7da9] {\n font-size: 17px;\n}\n.atm-welcome-text[data-v-e15f7da9] {\n font-size: 13px;\n margin-bottom: 14px;\n}\n.atm-form-group[data-v-e15f7da9] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-e15f7da9] {\n font-size: 12px;\n margin-bottom: 4px;\n}\n.atm-input-field[data-v-e15f7da9] {\n padding: 8px 10px;\n font-size: 13px;\n}\n.atm-signup-button[data-v-e15f7da9] {\n font-size: 13px;\n padding: 9px;\n min-height: 40px;\n}\n.atm-footer-links[data-v-e15f7da9] {\n margin-top: 14px;\n font-size: 12px;\n}\n}\n@media (max-width: 480px) {\n.atm-logo-placeholder[data-v-e15f7da9] {\n width: 40px;\n height: 40px;\n font-size: 10px;\n}\n.atm-logo-image[data-v-e15f7da9] {\n max-width: 40px;\n max-height: 40px;\n}\n.atm-project-name[data-v-e15f7da9] {\n font-size: 16px;\n margin-bottom: 4px;\n}\n.atm-welcome-text[data-v-e15f7da9] {\n font-size: 12px;\n margin-bottom: 12px;\n}\n.atm-form-group[data-v-e15f7da9] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-e15f7da9] {\n font-size: 12px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-e15f7da9] {\n padding: 7px 9px;\n font-size: 13px;\n}\n.atm-signup-button[data-v-e15f7da9] {\n font-size: 13px;\n padding: 9px;\n min-height: 38px;\n}\n.atm-footer-links[data-v-e15f7da9] {\n margin-top: 12px;\n font-size: 12px;\n}\n.atm-powered-by[data-v-e15f7da9] {\n font-size: 10px;\n}\n.spinner-svg[data-v-e15f7da9] {\n width: 16px;\n height: 16px;\n}\n.button-spinner[data-v-e15f7da9] {\n gap: 6px;\n}\n}\n@media (max-width: 360px) {\n.atm-logo-placeholder[data-v-e15f7da9] {\n width: 36px;\n height: 36px;\n font-size: 9px;\n}\n.atm-logo-image[data-v-e15f7da9] {\n max-width: 36px;\n max-height: 36px;\n}\n.atm-project-name[data-v-e15f7da9] {\n font-size: 15px;\n margin-bottom: 3px;\n}\n.atm-welcome-text[data-v-e15f7da9] {\n font-size: 11px;\n margin-bottom: 10px;\n}\n.atm-form-group[data-v-e15f7da9] {\n margin-bottom: 8px;\n}\n.atm-input-label[data-v-e15f7da9] {\n font-size: 11px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-e15f7da9] {\n padding: 6px 8px;\n font-size: 12px;\n}\n.atm-signup-button[data-v-e15f7da9] {\n font-size: 12px;\n padding: 8px;\n min-height: 36px;\n}\n.atm-footer-links[data-v-e15f7da9] {\n margin-top: 10px;\n font-size: 11px;\n}\n.spinner-svg[data-v-e15f7da9] {\n width: 14px;\n height: 14px;\n}\n}\n\n.atm-signin-btn[data-v-4139c6d0] {\n padding: 12px;\n margin-top: 8px;\n background: var(--v0f0ded3a);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n min-height: 44px;\n}\n.atm-signin-btn[data-v-4139c6d0]:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-signin-btn[data-v-4139c6d0] {\n padding: 11px;\n font-size: 13px;\n min-height: 42px;\n}\n}\n@media (max-width: 480px) {\n.atm-signin-btn[data-v-4139c6d0] {\n padding: 10px;\n font-size: 13px;\n min-height: 40px;\n}\n}\n@media (max-width: 360px) {\n.atm-signin-btn[data-v-4139c6d0] {\n padding: 9px;\n font-size: 12px;\n min-height: 38px;\n}\n}\n\n.atm-signup-btn[data-v-959aa7ef] {\n padding: 12px;\n margin-top: 8px;\n background: var(--v1112fbaa);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n min-height: 44px;\n}\n.atm-signup-btn[data-v-959aa7ef]:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-signup-btn[data-v-959aa7ef] {\n padding: 11px;\n font-size: 13px;\n min-height: 42px;\n}\n}\n@media (max-width: 480px) {\n.atm-signup-btn[data-v-959aa7ef] {\n padding: 10px;\n font-size: 13px;\n min-height: 40px;\n}\n}\n@media (max-width: 360px) {\n.atm-signup-btn[data-v-959aa7ef] {\n padding: 9px;\n font-size: 12px;\n min-height: 38px;\n}\n}\n\n.atm-profile-container {\n position: relative;\n display: inline-block;\n font-family: 'Segoe UI', system-ui, sans-serif;\n}\n.atm-profile-button {\n display: flex;\n align-items: center;\n gap: 8px;\n background: none;\n border: none;\n cursor: pointer;\n padding: 8px 12px;\n border-radius: 6px;\n transition: background 0.2s;\n}\n.atm-profile-button:hover {\n background: #f0f0f0;\n}\n.atm-profile-avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: var(--v1982ae74);\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n font-weight: 500;\n}\n.atm-profile-avatar.large {\n width: 48px;\n height: 48px;\n font-size: 16px;\n}\n.atm-profile-avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n}\n.atm-profile-name {\n font-size: 14px;\n color: #333;\n font-weight: 500;\n}\n.atm-profile-arrow {\n width: 16px;\n height: 16px;\n transition: transform 0.2s;\n}\n.atm-rotate {\n transform: rotate(180deg);\n}\n.atm-profile-menu {\n position: absolute;\n top: 100%;\n left: 0;\n width: 280px;\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n overflow: hidden;\n margin-top: 4px;\n}\n.atm-profile-info {\n display: flex;\n gap: 12px;\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n}\n.atm-profile-details {\n flex: 1;\n min-width: 0;\n}\n.atm-profile-fullname {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.atm-profile-email {\n margin: 4px 0 0;\n font-size: 13px;\n color: #666;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.atm-profile-options {\n padding: 8px 0;\n}\n.atm-profile-option {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n cursor: pointer;\n font-size: 14px;\n color: #333;\n gap: 10px;\n transition: background 0.2s;\n}\n.atm-profile-option:hover {\n background: #f5f5f5;\n}\n.atm-profile-icon {\n width: 18px;\n height: 18px;\n color: #666;\n}\n.atm-fade-enter-active,\n.atm-fade-leave-active {\n transition: opacity 0.2s, transform 0.2s;\n}\n.atm-fade-enter-from,\n.atm-fade-leave-to {\n opacity: 0;\n transform: translateY(-10px);\n}\n.atm-profile-modal {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow-y: auto;\n padding: 1.5rem;\n}\n.atm-profile-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n pointer-events: none;\n}\n.atm-profile-content {\n position: relative;\n width: 100%;\n max-width: 450px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);\n z-index: 1;\n max-height: calc(100vh - 3rem);\n display: flex;\n flex-direction: column;\n margin: auto;\n}\n.atm-profile-header {\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n align-items: center;\n}\n.atm-profile-close {\n background: none;\n border: none;\n font-size: 24px;\n cursor: pointer;\n padding: 8px;\n margin-right: 12px;\n color: #666;\n}\n.atm-profile-title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n}\n.atm-profile-tabs {\n display: flex;\n border-bottom: 1px solid #f0f0f0;\n background: #f8f9fa;\n}\n.atm-tab {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding: 12px 16px;\n background: none;\n border: none;\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n color: #666;\n transition: all 0.2s;\n}\n.atm-tab:hover {\n background: #e9ecef;\n}\n.atm-tab-active {\n color: var(--v1982ae74) !important;\n background: white;\n border-bottom: 2px solid var(--v1982ae74);\n}\n.atm-tab-icon {\n width: 16px;\n height: 16px;\n}\n.atm-profile-body {\n padding: 24px;\n text-align: center;\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n}\n.atm-profile-avatar-large {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background-color: var(--v1982ae74);\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 24px;\n font-weight: 600;\n margin: 0 auto 20px;\n}\n.atm-profile-info-grid {\n width: 100%;\n text-align: left;\n margin-top: 20px;\n}\n.atm-profile-info-row {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n}\n.atm-profile-info-label {\n font-size: 13px;\n color: #666;\n margin-bottom: 4px;\n}\n.atm-profile-info-value {\n font-size: 16px;\n color: #333;\n font-weight: 500;\n}\n.atm-profile-edit-form {\n width: 100%;\n text-align: left;\n margin-top: 20px;\n}\n.atm-form-group {\n margin-bottom: 16px;\n}\n.atm-input-label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n color: #555;\n font-weight: 500;\n}\n.atm-input-field {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.atm-input-field:focus {\n outline: none;\n border-color: var(--v1982ae74);\n box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);\n}\n.atm-form-actions {\n display: flex;\n gap: 12px;\n margin-top: 24px;\n}\n.atm-save-btn,\n.atm-edit-profile-btn,\n.atm-reset-password-btn,\n.atm-add-email-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n background: var(--v1982ae74);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n justify-content: center;\n}\n.atm-save-btn:hover,\n.atm-edit-profile-btn:hover,\n.atm-reset-password-btn:hover,\n.atm-add-email-btn:hover {\n opacity: 0.9;\n}\n.atm-cancel-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n padding: 12px;\n background: #f8f9fa;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n justify-content: center;\n}\n.atm-cancel-btn:hover {\n background: #e9ecef;\n}\n.atm-btn-icon {\n width: 16px;\n height: 16px;\n}\n.atm-email-add-section {\n margin-bottom: 24px;\n text-align: left;\n}\n.atm-email-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n text-align: left;\n}\n.atm-email-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px;\n background: #f8f9fa;\n border-radius: 6px;\n border: 1px solid #e9ecef;\n}\n.atm-email-info {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n}\n.atm-email-address {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.atm-email-icon {\n width: 16px;\n height: 16px;\n color: var(--c7d31cfc);\n}\n.atm-email-badges {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n.atm-badge {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: 12px;\n text-transform: uppercase;\n}\n.atm-badge-icon {\n width: 12px;\n height: 12px;\n}\n.atm-badge-primary {\n background: #e3f2fd;\n color: #1976d2;\n}\n.atm-badge-verified {\n background: #e8f5e8;\n color: #2e7d32;\n}\n.atm-badge-unverified {\n background: #fff3e0;\n color: #f57c00;\n}\n.atm-email-actions {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.atm-verify-btn {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 12px;\n background: var(--v1982ae74);\n color: white;\n border: none;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n.atm-verify-btn:hover {\n opacity: 0.9;\n}\n.atm-delete-btn {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 12px;\n background: #dc3545;\n color: white;\n border: none;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n.atm-delete-btn:hover {\n opacity: 0.9;\n}\n.atm-password-section {\n text-align: left;\n}\n.atm-sessions-section {\n text-align: left;\n}\n.atm-sessions-info {\n margin-bottom: 20px;\n}\n.atm-sessions-description {\n margin: 0;\n font-size: 14px;\n color: #666;\n line-height: 1.5;\n}\n.atm-sessions-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.atm-session-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n background: #f8f9fa;\n border-radius: 8px;\n border: 1px solid #e9ecef;\n gap: 16px;\n}\n.atm-session-header {\n display: flex;\n gap: 12px;\n align-items: flex-start;\n}\n.atm-session-icon {\n width: 24px;\n height: 24px;\n color: var(--c7d31cfc);\n flex-shrink: 0;\n}\n.atm-session-details {\n flex: 1;\n min-width: 0;\n}\n.atm-session-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 4px;\n font-size: 15px;\n font-weight: 600;\n color: #333;\n}\n.atm-session-device-info {\n font-size: 13px;\n color: #666;\n margin-bottom: 8px;\n}\n.atm-badge-current {\n background: #d1f4e0;\n color: #0f9d58;\n}\n.atm-session-timestamps {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.atm-session-timestamp {\n display: flex;\n gap: 6px;\n font-size: 13px;\n color: #666;\n}\n.atm-timestamp-label {\n font-weight: 500;\n color: #555;\n}\n.atm-session-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.atm-close-session-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 14px;\n background: #dc3545;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n white-space: nowrap;\n}\n.atm-close-session-btn:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-profile-button {\n padding: 6px 10px;\n gap: 6px;\n}\n.atm-profile-name {\n font-size: 13px;\n}\n.atm-profile-menu {\n width: 260px;\n}\n.atm-profile-modal {\n padding: 1rem;\n}\n.atm-profile-content {\n max-width: 90%;\n max-height: calc(100vh - 2rem);\n}\n.atm-profile-header {\n padding: 14px;\n}\n.atm-profile-title {\n font-size: 16px;\n}\n.atm-profile-body {\n padding: 20px;\n}\n.atm-tab {\n padding: 10px 12px;\n font-size: 13px;\n gap: 4px;\n}\n.atm-tab-icon {\n width: 14px;\n height: 14px;\n}\n.atm-profile-avatar-large {\n width: 70px;\n height: 70px;\n font-size: 22px;\n}\n.atm-email-item {\n flex-direction: column;\n gap: 12px;\n align-items: flex-start;\n}\n.atm-email-actions {\n flex-direction: row;\n width: 100%;\n}\n.atm-verify-btn,\n .atm-delete-btn {\n flex: 1;\n justify-content: center;\n}\n.atm-session-item {\n flex-direction: column;\n align-items: flex-start;\n}\n.atm-session-actions {\n width: 100%;\n}\n.atm-close-session-btn {\n width: 100%;\n justify-content: center;\n}\n}\n@media (max-width: 480px) {\n.atm-profile-button {\n padding: 4px 8px;\n gap: 4px;\n}\n.atm-profile-avatar {\n width: 28px;\n height: 28px;\n font-size: 11px;\n}\n.atm-profile-avatar.large {\n width: 40px;\n height: 40px;\n font-size: 14px;\n}\n.atm-profile-name {\n font-size: 12px;\n}\n.atm-profile-arrow {\n width: 14px;\n height: 14px;\n}\n.atm-profile-menu {\n width: calc(100vw - 20px);\n max-width: 240px;\n}\n.atm-profile-info {\n padding: 12px;\n gap: 10px;\n}\n.atm-profile-fullname {\n font-size: 13px;\n}\n.atm-profile-email {\n font-size: 12px;\n}\n.atm-profile-option {\n padding: 8px 12px;\n font-size: 13px;\n gap: 8px;\n}\n.atm-profile-icon {\n width: 16px;\n height: 16px;\n}\n.atm-profile-modal {\n padding: 0.5rem;\n}\n.atm-profile-content {\n max-width: 95%;\n max-height: calc(100vh - 1rem);\n}\n.atm-profile-header {\n padding: 12px;\n}\n.atm-profile-close {\n font-size: 20px;\n padding: 4px;\n margin-right: 8px;\n}\n.atm-profile-title {\n font-size: 15px;\n}\n.atm-profile-body {\n padding: 16px;\n}\n.atm-tab {\n padding: 8px 8px;\n font-size: 12px;\n gap: 3px;\n}\n.atm-tab-icon {\n width: 13px;\n height: 13px;\n}\n.atm-profile-avatar-large {\n width: 60px;\n height: 60px;\n font-size: 20px;\n margin-bottom: 16px;\n}\n.atm-profile-info-label {\n font-size: 12px;\n}\n.atm-profile-info-value {\n font-size: 14px;\n}\n.atm-input-label {\n font-size: 12px;\n}\n.atm-input-field {\n padding: 8px 10px;\n font-size: 13px;\n}\n.atm-form-actions {\n flex-direction: column;\n gap: 8px;\n}\n.atm-save-btn,\n .atm-cancel-btn,\n .atm-edit-profile-btn,\n .atm-reset-password-btn {\n width: 100%;\n padding: 10px;\n font-size: 13px;\n}\n.atm-email-item {\n padding: 10px;\n}\n.atm-email-address {\n font-size: 13px;\n}\n.atm-badge {\n font-size: 10px;\n padding: 2px 6px;\n}\n}\n@media (max-width: 360px) {\n.atm-profile-button {\n padding: 4px 6px;\n}\n.atm-profile-avatar {\n width: 26px;\n height: 26px;\n font-size: 10px;\n}\n.atm-profile-name {\n display: none;\n}\n.atm-profile-menu {\n width: calc(100vw - 16px);\n max-width: 220px;\n}\n.atm-profile-modal {\n padding: 0.25rem;\n}\n.atm-profile-content {\n max-width: 98%;\n max-height: calc(100vh - 0.5rem);\n}\n.atm-profile-body {\n padding: 12px;\n}\n.atm-tab {\n padding: 8px 6px;\n font-size: 11px;\n flex-direction: column;\n gap: 2px;\n}\n.atm-profile-avatar-large {\n width: 50px;\n height: 50px;\n font-size: 18px;\n}\n.atm-email-item {\n padding: 8px;\n}\n}\n\n.atm-auth-buttons[data-v-0c63ecb8] {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n@media (max-width: 768px) {\n.atm-auth-buttons[data-v-0c63ecb8] {\n gap: 14px;\n}\n}\n@media (max-width: 480px) {\n.atm-auth-buttons[data-v-0c63ecb8] {\n gap: 12px;\n flex-direction: column;\n}\n}\n@media (max-width: 360px) {\n.atm-auth-buttons[data-v-0c63ecb8] {\n gap: 10px;\n}\n}\n\n.atm-logout-btn[data-v-7157f989] {\n padding: 12px;\n margin-top: 8px;\n background: var(--v2ec0f896);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n min-height: 44px;\n}\n.atm-logout-btn[data-v-7157f989]:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-logout-btn[data-v-7157f989] {\n padding: 11px;\n font-size: 13px;\n min-height: 42px;\n}\n}\n@media (max-width: 480px) {\n.atm-logout-btn[data-v-7157f989] {\n padding: 10px;\n font-size: 13px;\n min-height: 40px;\n}\n}\n@media (max-width: 360px) {\n.atm-logout-btn[data-v-7157f989] {\n padding: 9px;\n font-size: 12px;\n min-height: 38px;\n}\n}\n";
5
+ style.textContent = "\n.atm-overlay[data-v-c347df44] {\n position: fixed;\n inset: 0;\n z-index: 99999;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n overflow-y: auto;\n padding: 1.5rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 1.5rem;\n width: 100%;\n margin: auto;\n}\n.atm-fade-layer[data-v-c347df44] {\n position: fixed;\n inset: 0;\n transition: opacity 0.2s ease;\n pointer-events: none;\n}\n.atm-fade-bg[data-v-c347df44] {\n position: absolute;\n inset: 0;\n opacity: 0.75;\n}\n.atm-modal[data-v-c347df44] {\n position: relative;\n display: inline-block;\n vertical-align: bottom;\n background-color: #ffffff;\n border-radius: 0.5rem;\n text-align: left;\n box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);\n transform: translate(0);\n transition: all 0.2s ease-in-out;\n max-width: 32rem;\n width: 100%;\n max-height: calc(100vh - 3rem);\n display: flex;\n flex-direction: column;\n}\n.atm-close-button[data-v-c347df44] {\n position: absolute;\n top: 1rem;\n right: 1rem;\n color: #9ca3af;\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 0.25rem;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n}\n.atm-close-button[data-v-c347df44]:hover {\n color: #4b5563;\n}\n.atm-icon[data-v-c347df44] {\n width: 1.5rem;\n height: 1.5rem;\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 1.25rem;\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 1.125rem;\n font-weight: 500;\n color: #111827;\n margin: 0;\n margin-bottom: 0.75rem;\n}\n@media (max-width: 768px) {\n.atm-overlay[data-v-c347df44] {\n padding: 1rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 1rem;\n}\n.atm-modal[data-v-c347df44] {\n border-radius: 0.375rem;\n max-height: calc(100vh - 2rem);\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 1rem;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 1rem;\n margin-bottom: 0.75rem;\n}\n.atm-close-button[data-v-c347df44] {\n top: 0.75rem;\n right: 0.75rem;\n}\n.atm-icon[data-v-c347df44] {\n width: 1.25rem;\n height: 1.25rem;\n}\n}\n@media (max-width: 480px) {\n.atm-overlay[data-v-c347df44] {\n padding: 0.5rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 0.5rem;\n}\n.atm-modal[data-v-c347df44] {\n border-radius: 0.25rem;\n max-width: 100%;\n max-height: calc(100vh - 1rem);\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 0.875rem;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 0.9375rem;\n margin-bottom: 0.625rem;\n}\n.atm-close-button[data-v-c347df44] {\n top: 0.5rem;\n right: 0.5rem;\n}\n}\n@media (max-width: 360px) {\n.atm-overlay[data-v-c347df44] {\n padding: 0.25rem 0;\n}\n.atm-container[data-v-c347df44] {\n padding: 0 0.25rem;\n}\n.atm-modal[data-v-c347df44] {\n max-height: calc(100vh - 0.5rem);\n}\n.atm-modal-content[data-v-c347df44] {\n padding: 0.75rem;\n}\n.atm-modal-title[data-v-c347df44] {\n font-size: 0.875rem;\n margin-bottom: 0.5rem;\n}\n}\n\n.atm-login-container[data-v-c3d00fb8] {\n background: #ffffff;\n border-radius: 8px;\n font-family: 'Segoe UI', system-ui, sans-serif;\n text-align: center;\n}\n.atm-logo-container[data-v-c3d00fb8] {\n margin-bottom: 12px;\n}\n.atm-logo-placeholder[data-v-c3d00fb8] {\n width: 44px;\n height: 44px;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f0f0f0;\n border-radius: 50%;\n color: #888;\n font-size: 11px;\n}\n.atm-logo-image[data-v-c3d00fb8] {\n max-width: 44px;\n max-height: 44px;\n margin: 0 auto;\n display: block;\n border-radius: 4px;\n object-fit: contain;\n}\n.atm-project-name[data-v-c3d00fb8] {\n margin: 0 0 4px 0;\n font-size: 18px;\n color: var(--v36da353d);\n font-weight: 600;\n}\n.atm-welcome-text[data-v-c3d00fb8] {\n margin: 0 0 16px 0;\n font-size: 14px;\n color: #666;\n}\n.atm-form-group[data-v-c3d00fb8] {\n margin-bottom: 12px;\n text-align: left;\n}\n.atm-input-label[data-v-c3d00fb8] {\n display: block;\n margin-bottom: 4px;\n font-size: 13px;\n color: #555;\n font-weight: 500;\n}\n.atm-input-field[data-v-c3d00fb8] {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.atm-input-field[data-v-c3d00fb8]:focus {\n outline: none;\n border-color: var(--v36da353d);\n box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);\n}\n.atm-input-field[data-v-c3d00fb8]:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n}\n.atm-field-error[data-v-c3d00fb8] {\n color: #dc3545;\n font-size: 12px;\n margin-top: 4px;\n text-align: left;\n}\n.atm-alternative-options[data-v-c3d00fb8] {\n margin-top: 8px;\n text-align: center;\n}\n.atm-forgot-password-link[data-v-c3d00fb8] {\n font-size: 12px;\n background: none;\n border: none;\n color: var(--v7cb12bea);\n cursor: pointer;\n text-decoration: none;\n padding: 0;\n font-family: inherit;\n}\n.atm-forgot-password-link[data-v-c3d00fb8]:hover:not(:disabled) {\n text-decoration: underline;\n}\n.atm-forgot-password-link[data-v-c3d00fb8]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.atm-strategy-choice[data-v-c3d00fb8] {\n text-align: center;\n margin-bottom: 12px;\n}\n.atm-strategy-title[data-v-c3d00fb8] {\n font-size: 14px;\n color: #666;\n margin-bottom: 12px;\n}\n.atm-strategy-buttons[data-v-c3d00fb8] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.atm-strategy-button[data-v-c3d00fb8] {\n width: 100%;\n padding: 10px;\n background: #f8f9fa;\n color: #333;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n.atm-strategy-button[data-v-c3d00fb8]:hover:not(:disabled) {\n background: #e9ecef;\n border-color: var(--v36da353d);\n}\n.atm-strategy-button[data-v-c3d00fb8]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.atm-email-link-text[data-v-c3d00fb8] {\n font-size: 14px;\n color: #666;\n margin: 0;\n text-align: center;\n}\n.atm-login-button[data-v-c3d00fb8] {\n width: 100%;\n padding: 10px;\n margin-top: 4px;\n background: var(--v36da353d);\n color: #fff;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n min-height: 42px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.atm-login-button[data-v-c3d00fb8]:hover:not(:disabled) {\n opacity: 0.9;\n transform: translateY(-1px);\n}\n.atm-login-button[data-v-c3d00fb8]:disabled {\n opacity: 0.8;\n cursor: not-allowed;\n transform: none;\n}\n.button-spinner[data-v-c3d00fb8] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n color: #fff;\n font-weight: 500;\n}\n.spinner-svg[data-v-c3d00fb8] {\n animation: spin-c3d00fb8 1s linear infinite;\n width: 18px;\n height: 18px;\n stroke: #fff;\n}\n.spinner-circle[data-v-c3d00fb8] {\n stroke-dasharray: 90, 150;\n stroke-linecap: round;\n}\n@keyframes spin-c3d00fb8 {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n.atm-footer-links[data-v-c3d00fb8] {\n margin-top: 16px;\n font-size: 13px;\n}\n.atm-signup-text[data-v-c3d00fb8] {\n color: #666;\n margin-bottom: 6px;\n}\n.atm-signup-link[data-v-c3d00fb8] {\n color: var(--v7cb12bea);\n text-decoration: none;\n cursor: pointer;\n}\n.atm-signup-link[data-v-c3d00fb8]:hover {\n text-decoration: underline;\n}\n.atm-powered-by[data-v-c3d00fb8] {\n color: #999;\n font-size: 11px;\n margin: 0;\n}\n@media (max-width: 768px) {\n.atm-project-name[data-v-c3d00fb8] {\n font-size: 17px;\n}\n.atm-welcome-text[data-v-c3d00fb8] {\n font-size: 13px;\n margin-bottom: 14px;\n}\n.atm-form-group[data-v-c3d00fb8] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-c3d00fb8] {\n font-size: 12px;\n margin-bottom: 4px;\n}\n.atm-input-field[data-v-c3d00fb8] {\n padding: 8px 10px;\n font-size: 13px;\n}\n.atm-login-button[data-v-c3d00fb8] {\n font-size: 13px;\n padding: 9px;\n min-height: 40px;\n}\n.atm-strategy-button[data-v-c3d00fb8] {\n padding: 9px;\n font-size: 13px;\n}\n.atm-footer-links[data-v-c3d00fb8] {\n margin-top: 14px;\n font-size: 12px;\n}\n}\n@media (max-width: 480px) {\n.atm-logo-placeholder[data-v-c3d00fb8] {\n width: 40px;\n height: 40px;\n font-size: 10px;\n}\n.atm-logo-image[data-v-c3d00fb8] {\n max-width: 40px;\n max-height: 40px;\n}\n.atm-project-name[data-v-c3d00fb8] {\n font-size: 16px;\n margin-bottom: 4px;\n}\n.atm-welcome-text[data-v-c3d00fb8] {\n font-size: 12px;\n margin-bottom: 12px;\n}\n.atm-form-group[data-v-c3d00fb8] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-c3d00fb8] {\n font-size: 12px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-c3d00fb8] {\n padding: 7px 9px;\n font-size: 13px;\n}\n.atm-login-button[data-v-c3d00fb8] {\n font-size: 13px;\n padding: 9px;\n min-height: 38px;\n}\n.atm-forgot-password-link[data-v-c3d00fb8] {\n font-size: 11px;\n}\n.atm-strategy-title[data-v-c3d00fb8] {\n font-size: 13px;\n margin-bottom: 10px;\n}\n.atm-strategy-button[data-v-c3d00fb8] {\n padding: 9px;\n font-size: 13px;\n}\n.atm-email-link-text[data-v-c3d00fb8] {\n font-size: 13px;\n}\n.atm-footer-links[data-v-c3d00fb8] {\n margin-top: 12px;\n font-size: 12px;\n}\n.atm-powered-by[data-v-c3d00fb8] {\n font-size: 10px;\n}\n.spinner-svg[data-v-c3d00fb8] {\n width: 16px;\n height: 16px;\n}\n.button-spinner[data-v-c3d00fb8] {\n gap: 6px;\n}\n}\n@media (max-width: 360px) {\n.atm-logo-placeholder[data-v-c3d00fb8] {\n width: 36px;\n height: 36px;\n font-size: 9px;\n}\n.atm-logo-image[data-v-c3d00fb8] {\n max-width: 36px;\n max-height: 36px;\n}\n.atm-project-name[data-v-c3d00fb8] {\n font-size: 15px;\n margin-bottom: 3px;\n}\n.atm-welcome-text[data-v-c3d00fb8] {\n font-size: 11px;\n margin-bottom: 10px;\n}\n.atm-form-group[data-v-c3d00fb8] {\n margin-bottom: 8px;\n}\n.atm-input-label[data-v-c3d00fb8] {\n font-size: 11px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-c3d00fb8] {\n padding: 6px 8px;\n font-size: 12px;\n}\n.atm-login-button[data-v-c3d00fb8] {\n font-size: 12px;\n padding: 8px;\n min-height: 36px;\n}\n.atm-strategy-button[data-v-c3d00fb8] {\n padding: 8px;\n font-size: 12px;\n}\n.atm-footer-links[data-v-c3d00fb8] {\n margin-top: 10px;\n font-size: 11px;\n}\n.spinner-svg[data-v-c3d00fb8] {\n width: 14px;\n height: 14px;\n}\n}\n\n.atm-notification-container[data-v-f5e47084] {\n font-family: Arial, Helvetica, sans-serif;\n position: fixed;\n top: 20px;\n right: 20px;\n z-index: 99999;\n pointer-events: none;\n}\n.atm-notification[data-v-f5e47084] {\n padding: 12px 16px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 250px;\n max-width: 350px;\n pointer-events: auto;\n}\n.atm-notification--error[data-v-f5e47084] {\n background: #ff3333;\n color: #FFF;\n}\n.atm-notification--success[data-v-f5e47084] {\n background: #00a622;\n color: #FFF;\n}\n.atm-notification--warning[data-v-f5e47084] {\n background: #ffa500;\n color: #FFF;\n}\n.atm-notification-enter-active[data-v-f5e47084] {\n transition: all 0.3s ease-out;\n}\n.atm-notification-leave-active[data-v-f5e47084] {\n transition: all 0.3s ease-in;\n}\n.atm-notification-enter-from[data-v-f5e47084] {\n transform: translateX(100%);\n opacity: 0;\n}\n.atm-notification-leave-to[data-v-f5e47084] {\n transform: translateX(100%);\n opacity: 0;\n}\n@media (max-width: 768px) {\n.atm-notification-container[data-v-f5e47084] {\n top: 16px;\n right: 16px;\n left: 16px;\n}\n.atm-notification[data-v-f5e47084] {\n min-width: auto;\n max-width: 100%;\n padding: 11px 14px;\n font-size: 13px;\n}\n}\n@media (max-width: 480px) {\n.atm-notification-container[data-v-f5e47084] {\n top: 12px;\n right: 12px;\n left: 12px;\n}\n.atm-notification[data-v-f5e47084] {\n padding: 10px 12px;\n font-size: 12px;\n border-radius: 5px;\n}\n}\n@media (max-width: 360px) {\n.atm-notification-container[data-v-f5e47084] {\n top: 10px;\n right: 10px;\n left: 10px;\n}\n.atm-notification[data-v-f5e47084] {\n padding: 9px 11px;\n font-size: 11px;\n border-radius: 4px;\n}\n}\n\n.atm-signup-container[data-v-3359c6ca] {\n width: 100%;\n border-radius: 8px;\n font-family: 'Segoe UI', system-ui, sans-serif;\n text-align: center;\n}\n.atm-logo-container[data-v-3359c6ca] {\n margin-bottom: 12px;\n}\n.atm-logo-placeholder[data-v-3359c6ca] {\n width: 44px;\n height: 44px;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f0f0f0;\n border-radius: 50%;\n color: #888;\n font-size: 11px;\n}\n.atm-logo-image[data-v-3359c6ca] {\n max-width: 44px;\n max-height: 44px;\n margin: 0 auto;\n display: block;\n border-radius: 4px;\n object-fit: contain;\n}\n.atm-project-name[data-v-3359c6ca] {\n margin: 0 0 4px 0;\n font-size: 18px;\n color: var(--v9e732be0);\n font-weight: 600;\n}\n.atm-welcome-text[data-v-3359c6ca] {\n margin: 0 0 16px 0;\n font-size: 14px;\n color: #666;\n}\n.atm-form-group[data-v-3359c6ca] {\n margin-bottom: 12px;\n text-align: left;\n}\n.atm-input-label[data-v-3359c6ca] {\n display: block;\n margin-bottom: 4px;\n font-size: 13px;\n color: #555;\n font-weight: 500;\n}\n.atm-input-field[data-v-3359c6ca] {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.atm-input-field[data-v-3359c6ca]:focus {\n outline: none;\n border-color: var(--v9e732be0);\n box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);\n}\n.atm-input-field[data-v-3359c6ca]:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n}\n.atm-field-error[data-v-3359c6ca] {\n color: #dc3545;\n font-size: 12px;\n margin-top: 4px;\n text-align: left;\n}\n.atm-signup-button[data-v-3359c6ca] {\n width: 100%;\n padding: 10px;\n margin-top: 4px;\n background: var(--v9e732be0);\n color: #fff;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n min-height: 42px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.atm-signup-button[data-v-3359c6ca]:hover:not(:disabled) {\n opacity: 0.9;\n transform: translateY(-1px);\n}\n.atm-signup-button[data-v-3359c6ca]:disabled {\n opacity: 0.8;\n cursor: not-allowed;\n transform: none;\n}\n.button-spinner[data-v-3359c6ca] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n color: #fff;\n font-weight: 500;\n}\n.spinner-svg[data-v-3359c6ca] {\n animation: spin-3359c6ca 1s linear infinite;\n width: 18px;\n height: 18px;\n stroke: #fff;\n}\n.spinner-circle[data-v-3359c6ca] {\n stroke-dasharray: 90, 150;\n stroke-linecap: round;\n}\n@keyframes spin-3359c6ca {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n.atm-footer-links[data-v-3359c6ca] {\n margin-top: 16px;\n font-size: 13px;\n}\n.atm-login-text[data-v-3359c6ca] {\n color: #666;\n margin-bottom: 6px;\n}\n.atm-login-link[data-v-3359c6ca] {\n color: var(--v7159b61e);\n text-decoration: none;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n.atm-login-link[data-v-3359c6ca]:hover:not(.disabled-link) {\n text-decoration: underline;\n}\n.atm-login-link.disabled-link[data-v-3359c6ca] {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n.atm-powered-by[data-v-3359c6ca] {\n color: #999;\n font-size: 11px;\n margin: 0;\n}\n@media (max-width: 768px) {\n.atm-project-name[data-v-3359c6ca] {\n font-size: 17px;\n}\n.atm-welcome-text[data-v-3359c6ca] {\n font-size: 13px;\n margin-bottom: 14px;\n}\n.atm-form-group[data-v-3359c6ca] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-3359c6ca] {\n font-size: 12px;\n margin-bottom: 4px;\n}\n.atm-input-field[data-v-3359c6ca] {\n padding: 8px 10px;\n font-size: 13px;\n}\n.atm-signup-button[data-v-3359c6ca] {\n font-size: 13px;\n padding: 9px;\n min-height: 40px;\n}\n.atm-footer-links[data-v-3359c6ca] {\n margin-top: 14px;\n font-size: 12px;\n}\n}\n@media (max-width: 480px) {\n.atm-logo-placeholder[data-v-3359c6ca] {\n width: 40px;\n height: 40px;\n font-size: 10px;\n}\n.atm-logo-image[data-v-3359c6ca] {\n max-width: 40px;\n max-height: 40px;\n}\n.atm-project-name[data-v-3359c6ca] {\n font-size: 16px;\n margin-bottom: 4px;\n}\n.atm-welcome-text[data-v-3359c6ca] {\n font-size: 12px;\n margin-bottom: 12px;\n}\n.atm-form-group[data-v-3359c6ca] {\n margin-bottom: 10px;\n}\n.atm-input-label[data-v-3359c6ca] {\n font-size: 12px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-3359c6ca] {\n padding: 7px 9px;\n font-size: 13px;\n}\n.atm-signup-button[data-v-3359c6ca] {\n font-size: 13px;\n padding: 9px;\n min-height: 38px;\n}\n.atm-footer-links[data-v-3359c6ca] {\n margin-top: 12px;\n font-size: 12px;\n}\n.atm-powered-by[data-v-3359c6ca] {\n font-size: 10px;\n}\n.spinner-svg[data-v-3359c6ca] {\n width: 16px;\n height: 16px;\n}\n.button-spinner[data-v-3359c6ca] {\n gap: 6px;\n}\n}\n@media (max-width: 360px) {\n.atm-logo-placeholder[data-v-3359c6ca] {\n width: 36px;\n height: 36px;\n font-size: 9px;\n}\n.atm-logo-image[data-v-3359c6ca] {\n max-width: 36px;\n max-height: 36px;\n}\n.atm-project-name[data-v-3359c6ca] {\n font-size: 15px;\n margin-bottom: 3px;\n}\n.atm-welcome-text[data-v-3359c6ca] {\n font-size: 11px;\n margin-bottom: 10px;\n}\n.atm-form-group[data-v-3359c6ca] {\n margin-bottom: 8px;\n}\n.atm-input-label[data-v-3359c6ca] {\n font-size: 11px;\n margin-bottom: 3px;\n}\n.atm-input-field[data-v-3359c6ca] {\n padding: 6px 8px;\n font-size: 12px;\n}\n.atm-signup-button[data-v-3359c6ca] {\n font-size: 12px;\n padding: 8px;\n min-height: 36px;\n}\n.atm-footer-links[data-v-3359c6ca] {\n margin-top: 10px;\n font-size: 11px;\n}\n.spinner-svg[data-v-3359c6ca] {\n width: 14px;\n height: 14px;\n}\n}\n\n.atm-signin-btn[data-v-e490ca63] {\n padding: 12px;\n margin-top: 8px;\n background: var(--v111e7704);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n min-height: 44px;\n}\n.atm-signin-btn[data-v-e490ca63]:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-signin-btn[data-v-e490ca63] {\n padding: 11px;\n font-size: 13px;\n min-height: 42px;\n}\n}\n@media (max-width: 480px) {\n.atm-signin-btn[data-v-e490ca63] {\n padding: 10px;\n font-size: 13px;\n min-height: 40px;\n}\n}\n@media (max-width: 360px) {\n.atm-signin-btn[data-v-e490ca63] {\n padding: 9px;\n font-size: 12px;\n min-height: 38px;\n}\n}\n\n.atm-signup-btn[data-v-7346e92d] {\n padding: 12px;\n margin-top: 8px;\n background: var(--v334adbc1);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s;\n min-height: 44px;\n}\n.atm-signup-btn[data-v-7346e92d]:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-signup-btn[data-v-7346e92d] {\n padding: 11px;\n font-size: 13px;\n min-height: 42px;\n}\n}\n@media (max-width: 480px) {\n.atm-signup-btn[data-v-7346e92d] {\n padding: 10px;\n font-size: 13px;\n min-height: 40px;\n}\n}\n@media (max-width: 360px) {\n.atm-signup-btn[data-v-7346e92d] {\n padding: 9px;\n font-size: 12px;\n min-height: 38px;\n}\n}\n\n.atm-profile-container {\n position: relative;\n display: inline-block;\n font-family: 'Segoe UI', system-ui, sans-serif;\n}\n.atm-profile-button {\n display: flex;\n align-items: center;\n gap: 8px;\n background: none;\n border: none;\n cursor: pointer;\n padding: 8px 12px;\n border-radius: 6px;\n transition: background 0.2s;\n}\n.atm-profile-button:hover {\n background: #f0f0f0;\n}\n.atm-profile-avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: var(--v4406ee78);\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n font-weight: 500;\n}\n.atm-profile-avatar.large {\n width: 48px;\n height: 48px;\n font-size: 16px;\n}\n.atm-profile-avatar-img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n}\n.atm-profile-name {\n font-size: 14px;\n color: #333;\n font-weight: 500;\n}\n.atm-profile-arrow {\n width: 16px;\n height: 16px;\n transition: transform 0.2s;\n}\n.atm-rotate {\n transform: rotate(180deg);\n}\n.atm-profile-menu {\n position: absolute;\n top: 100%;\n width: 280px;\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n overflow: hidden;\n margin-top: 4px;\n}\n.atm-position-left {\n left: 0;\n right: auto;\n}\n.atm-position-right {\n right: 0;\n left: auto;\n}\n.atm-profile-info {\n display: flex;\n gap: 12px;\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n}\n.atm-profile-details {\n flex: 1;\n min-width: 0;\n}\n.atm-profile-fullname {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.atm-profile-email {\n margin: 4px 0 0;\n font-size: 13px;\n color: #666;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.atm-profile-options {\n padding: 8px 0;\n}\n.atm-profile-option {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 10px 16px;\n background: none;\n border: none;\n text-align: left;\n cursor: pointer;\n font-size: 14px;\n color: #333;\n gap: 10px;\n transition: background 0.2s;\n}\n.atm-profile-option:hover {\n background: #f5f5f5;\n}\n.atm-profile-icon {\n width: 18px;\n height: 18px;\n color: #666;\n}\n.atm-fade-enter-active,\n.atm-fade-leave-active {\n transition: opacity 0.2s, transform 0.2s;\n}\n.atm-fade-enter-from,\n.atm-fade-leave-to {\n opacity: 0;\n transform: translateY(-10px);\n}\n.atm-profile-modal {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow-y: auto;\n padding: 1.5rem;\n}\n.atm-profile-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n pointer-events: none;\n}\n.atm-profile-content {\n position: relative;\n width: 100%;\n max-width: 450px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);\n z-index: 1;\n max-height: calc(100vh - 3rem);\n display: flex;\n flex-direction: column;\n margin: auto;\n}\n.atm-profile-header {\n padding: 16px;\n border-bottom: 1px solid #f0f0f0;\n display: flex;\n align-items: center;\n}\n.atm-profile-close {\n background: none;\n border: none;\n font-size: 24px;\n cursor: pointer;\n padding: 8px;\n margin-right: 12px;\n color: #666;\n}\n.atm-profile-title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #333;\n}\n.atm-profile-tabs {\n display: flex;\n border-bottom: 1px solid #f0f0f0;\n background: #f8f9fa;\n}\n.atm-tab {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding: 12px 16px;\n background: none;\n border: none;\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n color: #666;\n transition: all 0.2s;\n}\n.atm-tab:hover {\n background: #e9ecef;\n}\n.atm-tab-active {\n color: var(--v4406ee78) !important;\n background: white;\n border-bottom: 2px solid var(--v4406ee78);\n}\n.atm-tab-icon {\n width: 16px;\n height: 16px;\n}\n.atm-profile-body {\n padding: 24px;\n text-align: center;\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n}\n.atm-profile-avatar-large {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background-color: var(--v4406ee78);\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 24px;\n font-weight: 600;\n margin: 0 auto 20px;\n}\n.atm-profile-info-grid {\n width: 100%;\n text-align: left;\n margin-top: 20px;\n}\n.atm-profile-info-row {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n}\n.atm-profile-info-label {\n font-size: 13px;\n color: #666;\n margin-bottom: 4px;\n}\n.atm-profile-info-value {\n font-size: 16px;\n color: #333;\n font-weight: 500;\n}\n.atm-profile-edit-form {\n width: 100%;\n text-align: left;\n margin-top: 20px;\n}\n.atm-form-group {\n margin-bottom: 16px;\n}\n.atm-input-label {\n display: block;\n margin-bottom: 6px;\n font-size: 13px;\n color: #555;\n font-weight: 500;\n}\n.atm-input-field {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n box-sizing: border-box;\n transition: border-color 0.2s;\n}\n.atm-input-field:focus {\n outline: none;\n border-color: var(--v4406ee78);\n box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.1);\n}\n.atm-form-actions {\n display: flex;\n gap: 12px;\n margin-top: 24px;\n}\n.atm-save-btn,\n.atm-edit-profile-btn,\n.atm-reset-password-btn,\n.atm-add-email-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n background: var(--v4406ee78);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n justify-content: center;\n}\n.atm-save-btn:hover,\n.atm-edit-profile-btn:hover,\n.atm-reset-password-btn:hover,\n.atm-add-email-btn:hover {\n opacity: 0.9;\n}\n.atm-cancel-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n padding: 12px;\n background: #f8f9fa;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s;\n justify-content: center;\n}\n.atm-cancel-btn:hover {\n background: #e9ecef;\n}\n.atm-btn-icon {\n width: 16px;\n height: 16px;\n}\n.atm-email-add-section {\n margin-bottom: 24px;\n text-align: left;\n}\n.atm-email-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n text-align: left;\n}\n.atm-email-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px;\n background: #f8f9fa;\n border-radius: 6px;\n border: 1px solid #e9ecef;\n}\n.atm-email-info {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n}\n.atm-email-address {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.atm-email-icon {\n width: 16px;\n height: 16px;\n color: var(--v2982f7d2);\n}\n.atm-email-badges {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n.atm-badge {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: 12px;\n text-transform: uppercase;\n}\n.atm-badge-icon {\n width: 12px;\n height: 12px;\n}\n.atm-badge-primary {\n background: #e3f2fd;\n color: #1976d2;\n}\n.atm-badge-verified {\n background: #e8f5e8;\n color: #2e7d32;\n}\n.atm-badge-unverified {\n background: #fff3e0;\n color: #f57c00;\n}\n.atm-email-actions {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.atm-verify-btn {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 12px;\n background: var(--v4406ee78);\n color: white;\n border: none;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n.atm-verify-btn:hover {\n opacity: 0.9;\n}\n.atm-delete-btn {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 12px;\n background: #dc3545;\n color: white;\n border: none;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n.atm-delete-btn:hover {\n opacity: 0.9;\n}\n.atm-password-section {\n text-align: left;\n}\n.atm-sessions-section {\n text-align: left;\n}\n.atm-sessions-info {\n margin-bottom: 20px;\n}\n.atm-sessions-description {\n margin: 0;\n font-size: 14px;\n color: #666;\n line-height: 1.5;\n}\n.atm-sessions-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.atm-session-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px;\n background: #f8f9fa;\n border-radius: 8px;\n border: 1px solid #e9ecef;\n gap: 16px;\n}\n.atm-session-header {\n display: flex;\n gap: 12px;\n align-items: flex-start;\n}\n.atm-session-icon {\n width: 24px;\n height: 24px;\n color: var(--v2982f7d2);\n flex-shrink: 0;\n}\n.atm-session-details {\n flex: 1;\n min-width: 0;\n}\n.atm-session-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 4px;\n font-size: 15px;\n font-weight: 600;\n color: #333;\n}\n.atm-session-device-info {\n font-size: 13px;\n color: #666;\n margin-bottom: 8px;\n}\n.atm-badge-current {\n background: #d1f4e0;\n color: #0f9d58;\n}\n.atm-session-timestamps {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.atm-session-timestamp {\n display: flex;\n gap: 6px;\n font-size: 13px;\n color: #666;\n}\n.atm-timestamp-label {\n font-weight: 500;\n color: #555;\n}\n.atm-session-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.atm-close-session-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 14px;\n background: #dc3545;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n white-space: nowrap;\n}\n.atm-close-session-btn:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-profile-button {\n padding: 6px 10px;\n gap: 6px;\n}\n.atm-profile-name {\n font-size: 13px;\n}\n.atm-profile-menu {\n width: 260px;\n}\n.atm-profile-modal {\n padding: 1rem;\n}\n.atm-profile-content {\n max-width: 90%;\n max-height: calc(100vh - 2rem);\n}\n.atm-profile-header {\n padding: 14px;\n}\n.atm-profile-title {\n font-size: 16px;\n}\n.atm-profile-body {\n padding: 20px;\n}\n.atm-tab {\n padding: 10px 12px;\n font-size: 13px;\n gap: 4px;\n}\n.atm-tab-icon {\n width: 14px;\n height: 14px;\n}\n.atm-profile-avatar-large {\n width: 70px;\n height: 70px;\n font-size: 22px;\n}\n.atm-email-item {\n flex-direction: column;\n gap: 12px;\n align-items: flex-start;\n}\n.atm-email-actions {\n flex-direction: row;\n width: 100%;\n}\n.atm-verify-btn,\n .atm-delete-btn {\n flex: 1;\n justify-content: center;\n}\n.atm-session-item {\n flex-direction: column;\n align-items: flex-start;\n}\n.atm-session-actions {\n width: 100%;\n}\n.atm-close-session-btn {\n width: 100%;\n justify-content: center;\n}\n}\n@media (max-width: 480px) {\n.atm-profile-button {\n padding: 4px 8px;\n gap: 4px;\n}\n.atm-profile-avatar {\n width: 28px;\n height: 28px;\n font-size: 11px;\n}\n.atm-profile-avatar.large {\n width: 40px;\n height: 40px;\n font-size: 14px;\n}\n.atm-profile-name {\n font-size: 12px;\n}\n.atm-profile-arrow {\n width: 14px;\n height: 14px;\n}\n.atm-profile-menu {\n width: calc(100vw - 20px);\n max-width: 240px;\n}\n.atm-profile-info {\n padding: 12px;\n gap: 10px;\n}\n.atm-profile-fullname {\n font-size: 13px;\n}\n.atm-profile-email {\n font-size: 12px;\n}\n.atm-profile-option {\n padding: 8px 12px;\n font-size: 13px;\n gap: 8px;\n}\n.atm-profile-icon {\n width: 16px;\n height: 16px;\n}\n.atm-profile-modal {\n padding: 0.5rem;\n}\n.atm-profile-content {\n max-width: 95%;\n max-height: calc(100vh - 1rem);\n}\n.atm-profile-header {\n padding: 12px;\n}\n.atm-profile-close {\n font-size: 20px;\n padding: 4px;\n margin-right: 8px;\n}\n.atm-profile-title {\n font-size: 15px;\n}\n.atm-profile-body {\n padding: 16px;\n}\n.atm-tab {\n padding: 8px 8px;\n font-size: 12px;\n gap: 3px;\n}\n.atm-tab-icon {\n width: 13px;\n height: 13px;\n}\n.atm-profile-avatar-large {\n width: 60px;\n height: 60px;\n font-size: 20px;\n margin-bottom: 16px;\n}\n.atm-profile-info-label {\n font-size: 12px;\n}\n.atm-profile-info-value {\n font-size: 14px;\n}\n.atm-input-label {\n font-size: 12px;\n}\n.atm-input-field {\n padding: 8px 10px;\n font-size: 13px;\n}\n.atm-form-actions {\n flex-direction: column;\n gap: 8px;\n}\n.atm-save-btn,\n .atm-cancel-btn,\n .atm-edit-profile-btn,\n .atm-reset-password-btn {\n width: 100%;\n padding: 10px;\n font-size: 13px;\n}\n.atm-email-item {\n padding: 10px;\n}\n.atm-email-address {\n font-size: 13px;\n}\n.atm-badge {\n font-size: 10px;\n padding: 2px 6px;\n}\n}\n@media (max-width: 360px) {\n.atm-profile-button {\n padding: 4px 6px;\n}\n.atm-profile-avatar {\n width: 26px;\n height: 26px;\n font-size: 10px;\n}\n.atm-profile-name {\n display: none;\n}\n.atm-profile-menu {\n width: calc(100vw - 16px);\n max-width: 220px;\n}\n.atm-profile-modal {\n padding: 0.25rem;\n}\n.atm-profile-content {\n max-width: 98%;\n max-height: calc(100vh - 0.5rem);\n}\n.atm-profile-body {\n padding: 12px;\n}\n.atm-tab {\n padding: 8px 6px;\n font-size: 11px;\n flex-direction: column;\n gap: 2px;\n}\n.atm-profile-avatar-large {\n width: 50px;\n height: 50px;\n font-size: 18px;\n}\n.atm-email-item {\n padding: 8px;\n}\n}\n\n.atm-auth-buttons[data-v-0c63ecb8] {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n@media (max-width: 768px) {\n.atm-auth-buttons[data-v-0c63ecb8] {\n gap: 14px;\n}\n}\n@media (max-width: 480px) {\n.atm-auth-buttons[data-v-0c63ecb8] {\n gap: 12px;\n flex-direction: column;\n}\n}\n@media (max-width: 360px) {\n.atm-auth-buttons[data-v-0c63ecb8] {\n gap: 10px;\n}\n}\n\n.atm-logout-btn[data-v-7157f989] {\n padding: 12px;\n margin-top: 8px;\n background: var(--v2ec0f896);\n color: #FFF;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: opacity 0.2s;\n min-height: 44px;\n}\n.atm-logout-btn[data-v-7157f989]:hover {\n opacity: 0.9;\n}\n@media (max-width: 768px) {\n.atm-logout-btn[data-v-7157f989] {\n padding: 11px;\n font-size: 13px;\n min-height: 42px;\n}\n}\n@media (max-width: 480px) {\n.atm-logout-btn[data-v-7157f989] {\n padding: 10px;\n font-size: 13px;\n min-height: 40px;\n}\n}\n@media (max-width: 360px) {\n.atm-logout-btn[data-v-7157f989] {\n padding: 9px;\n font-size: 12px;\n min-height: 38px;\n}\n}\n";
6
6
  document.head.appendChild(style);
7
7
  }
8
8
  })();
@@ -250,11 +250,15 @@ const _hoisted_24$2 = {
250
250
  const _hoisted_25$2 = { key: 0 };
251
251
  const _hoisted_26$2 = { key: 1 };
252
252
  const _hoisted_27$2 = { class: "atm-footer-links" };
253
- const _hoisted_28$1 = { class: "atm-signup-text" };
253
+ const _hoisted_28$1 = {
254
+ key: 0,
255
+ class: "atm-signup-text"
256
+ };
254
257
  const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
255
258
  __name: "SignIn",
256
259
  props: {
257
- redirect: {}
260
+ redirect: {},
261
+ signUpLink: {}
258
262
  },
259
263
  emits: [
260
264
  "completed",
@@ -262,8 +266,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
262
266
  ],
263
267
  setup(__props, { emit: __emit }) {
264
268
  vue.useCssVars((_ctx) => ({
265
- "v18341448": atmPrimaryColor.value,
266
- "v97f49b54": atmSecondaryColor.value
269
+ "v36da353d": atmPrimaryColor.value,
270
+ "v7cb12bea": atmSecondaryColor.value
267
271
  }));
268
272
  const props = __props;
269
273
  const emit = __emit;
@@ -290,6 +294,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
290
294
  const atmPrimaryColor = vue.computed(() => configurations.value?.design?.primaryColor);
291
295
  const atmSecondaryColor = vue.computed(() => configurations.value?.design?.secondaryColor);
292
296
  const logoUrl = vue.computed(() => configurations.value?.project?.logo || "");
297
+ const isRegisterEnabled = vue.computed(() => configurations.value?.register?.enable !== false);
293
298
  const buttonText = vue.computed(() => {
294
299
  if (currentStep.value === "email") return "Entrar";
295
300
  if (currentStep.value === "choose_strategy") return "";
@@ -496,7 +501,19 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
496
501
  isLoading.value = false;
497
502
  }
498
503
  };
499
- const signUp = () => emit("sign-up");
504
+ const signUp = () => {
505
+ if (props.signUpLink) {
506
+ const instance = vue.getCurrentInstance();
507
+ const router = instance?.appContext.config.globalProperties.$router;
508
+ if (router) {
509
+ router.push(props.signUpLink);
510
+ } else {
511
+ window.location.href = props.signUpLink;
512
+ }
513
+ } else {
514
+ emit("sign-up");
515
+ }
516
+ };
500
517
  vue.onMounted(() => {
501
518
  vue.nextTick(() => {
502
519
  if (emailInput.value) {
@@ -616,13 +633,13 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
616
633
  ]))
617
634
  ], 8, _hoisted_22$2)) : vue.createCommentVNode("", true),
618
635
  vue.createElementVNode("div", _hoisted_27$2, [
619
- vue.createElementVNode("p", _hoisted_28$1, [
636
+ isRegisterEnabled.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_28$1, [
620
637
  _cache[11] || (_cache[11] = vue.createTextVNode(" Ainda não tem uma conta? ", -1)),
621
638
  vue.createElementVNode("a", {
622
639
  onClick: _cache[3] || (_cache[3] = ($event) => signUp()),
623
640
  class: "atm-signup-link"
624
641
  }, "Cadastre aqui")
625
- ]),
642
+ ])) : vue.createCommentVNode("", true),
626
643
  _cache[12] || (_cache[12] = vue.createElementVNode("p", { class: "atm-powered-by" }, [
627
644
  vue.createTextVNode(" Secured by "),
628
645
  vue.createElementVNode("strong", null, "Autenticar.me")
@@ -633,7 +650,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
633
650
  };
634
651
  }
635
652
  });
636
- const SignIn = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-305a11b6"]]);
653
+ const SignIn = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-c3d00fb8"]]);
637
654
  const _hoisted_1$6 = {
638
655
  key: 0,
639
656
  class: "atm-notification-container"
@@ -726,13 +743,14 @@ const _hoisted_27$1 = { class: "atm-login-text" };
726
743
  const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
727
744
  __name: "SignUp",
728
745
  props: {
729
- redirect: {}
746
+ redirect: {},
747
+ signInLink: {}
730
748
  },
731
749
  emits: ["completed", "sign-in"],
732
750
  setup(__props, { emit: __emit }) {
733
751
  vue.useCssVars((_ctx) => ({
734
- "v1ca6007a": atmPrimaryColor.value,
735
- "v12f1ab11": atmSecondaryColor.value
752
+ "v9e732be0": atmPrimaryColor.value,
753
+ "v7159b61e": atmSecondaryColor.value
736
754
  }));
737
755
  const props = __props;
738
756
  const emit = __emit;
@@ -895,7 +913,19 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
895
913
  isLoading.value = false;
896
914
  }
897
915
  };
898
- const signIn = () => emit("sign-in");
916
+ const signIn = () => {
917
+ if (props.signInLink) {
918
+ const instance = vue.getCurrentInstance();
919
+ const router = instance?.appContext.config.globalProperties.$router;
920
+ if (router) {
921
+ router.push(props.signInLink);
922
+ } else {
923
+ window.location.href = props.signInLink;
924
+ }
925
+ } else {
926
+ emit("sign-in");
927
+ }
928
+ };
899
929
  return (_ctx, _cache) => {
900
930
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
901
931
  vue.createVNode(Notification, {
@@ -1028,9 +1058,13 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
1028
1058
  };
1029
1059
  }
1030
1060
  });
1031
- const SignUp = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-e15f7da9"]]);
1061
+ const SignUp = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-3359c6ca"]]);
1032
1062
  const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
1033
1063
  __name: "SignInModal",
1064
+ props: {
1065
+ redirect: {},
1066
+ signUpLink: {}
1067
+ },
1034
1068
  emits: [
1035
1069
  "close"
1036
1070
  ],
@@ -1066,14 +1100,17 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
1066
1100
  default: vue.withCtx(() => [
1067
1101
  component.value === "sign-in" ? (vue.openBlock(), vue.createBlock(SignIn, {
1068
1102
  key: 0,
1103
+ redirect: __props.redirect,
1104
+ signUpLink: __props.signUpLink,
1069
1105
  onSignUp: _cache[0] || (_cache[0] = ($event) => signUp()),
1070
1106
  onCompleted: _cache[1] || (_cache[1] = ($event) => close())
1071
- })) : vue.createCommentVNode("", true),
1107
+ }, null, 8, ["redirect", "signUpLink"])) : vue.createCommentVNode("", true),
1072
1108
  component.value === "sign-up" ? (vue.openBlock(), vue.createBlock(SignUp, {
1073
1109
  key: 1,
1110
+ redirect: __props.redirect,
1074
1111
  onSignIn: _cache[2] || (_cache[2] = ($event) => signIn()),
1075
1112
  onCompleted: _cache[3] || (_cache[3] = ($event) => close())
1076
- })) : vue.createCommentVNode("", true)
1113
+ }, null, 8, ["redirect"])) : vue.createCommentVNode("", true)
1077
1114
  ]),
1078
1115
  _: 1
1079
1116
  }, 8, ["max-width"]);
@@ -1082,9 +1119,13 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
1082
1119
  });
1083
1120
  const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1084
1121
  __name: "SignInButton",
1122
+ props: {
1123
+ redirect: {},
1124
+ signUpLink: {}
1125
+ },
1085
1126
  setup(__props) {
1086
1127
  vue.useCssVars((_ctx) => ({
1087
- "v0f0ded3a": atmPrimaryColor.value
1128
+ "v111e7704": atmPrimaryColor.value
1088
1129
  }));
1089
1130
  const showSignInModal = vue.ref(false);
1090
1131
  const { configurations } = useAtm();
@@ -1117,8 +1158,10 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1117
1158
  }, null, 8, ["show", "message", "type"]),
1118
1159
  showSignInModal.value ? (vue.openBlock(), vue.createBlock(_sfc_main$8, {
1119
1160
  key: 0,
1161
+ redirect: __props.redirect,
1162
+ signUpLink: __props.signUpLink,
1120
1163
  onClose: _cache[0] || (_cache[0] = () => showSignInModal.value = false)
1121
- })) : vue.createCommentVNode("", true),
1164
+ }, null, 8, ["redirect", "signUpLink"])) : vue.createCommentVNode("", true),
1122
1165
  vue.createElementVNode("button", {
1123
1166
  onClick: _cache[1] || (_cache[1] = ($event) => signIn()),
1124
1167
  class: "atm-signin-btn"
@@ -1127,13 +1170,17 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1127
1170
  };
1128
1171
  }
1129
1172
  });
1130
- const SignInButton = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-4139c6d0"]]);
1173
+ const SignInButton = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-e490ca63"]]);
1131
1174
  const _hoisted_1$4 = {
1132
1175
  key: 2,
1133
1176
  style: { "padding": "24px", "text-align": "center" }
1134
1177
  };
1135
1178
  const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
1136
1179
  __name: "SignUpModal",
1180
+ props: {
1181
+ redirect: {},
1182
+ signInLink: {}
1183
+ },
1137
1184
  emits: [
1138
1185
  "close"
1139
1186
  ],
@@ -1171,14 +1218,17 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
1171
1218
  default: vue.withCtx(() => [
1172
1219
  component.value === "sign-in" ? (vue.openBlock(), vue.createBlock(SignIn, {
1173
1220
  key: 0,
1221
+ redirect: __props.redirect,
1174
1222
  onSignUp: _cache[0] || (_cache[0] = ($event) => signUp()),
1175
1223
  onCompleted: _cache[1] || (_cache[1] = ($event) => close())
1176
- })) : vue.createCommentVNode("", true),
1224
+ }, null, 8, ["redirect"])) : vue.createCommentVNode("", true),
1177
1225
  component.value === "sign-up" && isRegistrationAllowed.value ? (vue.openBlock(), vue.createBlock(SignUp, {
1178
1226
  key: 1,
1227
+ redirect: __props.redirect,
1228
+ signInLink: __props.signInLink,
1179
1229
  onSignIn: _cache[2] || (_cache[2] = ($event) => signIn()),
1180
1230
  onCompleted: _cache[3] || (_cache[3] = ($event) => close())
1181
- })) : component.value === "sign-up" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
1231
+ }, null, 8, ["redirect", "signInLink"])) : component.value === "sign-up" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
1182
1232
  _cache[6] || (_cache[6] = vue.createElementVNode("p", { style: { "margin-bottom": "16px" } }, "Registro não está disponível no momento", -1)),
1183
1233
  vue.createElementVNode("button", {
1184
1234
  onClick: _cache[4] || (_cache[4] = ($event) => signIn()),
@@ -1193,9 +1243,13 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
1193
1243
  });
1194
1244
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
1195
1245
  __name: "SignUpButton",
1246
+ props: {
1247
+ redirect: {},
1248
+ signInLink: {}
1249
+ },
1196
1250
  setup(__props) {
1197
1251
  vue.useCssVars((_ctx) => ({
1198
- "v1112fbaa": atmPrimaryColor.value
1252
+ "v334adbc1": atmPrimaryColor.value
1199
1253
  }));
1200
1254
  const showSignUpModal = vue.ref(false);
1201
1255
  const { configurations } = useAtm();
@@ -1208,8 +1262,10 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
1208
1262
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
1209
1263
  showSignUpModal.value ? (vue.openBlock(), vue.createBlock(_sfc_main$6, {
1210
1264
  key: 0,
1265
+ redirect: __props.redirect,
1266
+ signInLink: __props.signInLink,
1211
1267
  onClose: _cache[0] || (_cache[0] = () => showSignUpModal.value = false)
1212
- })) : vue.createCommentVNode("", true),
1268
+ }, null, 8, ["redirect", "signInLink"])) : vue.createCommentVNode("", true),
1213
1269
  isRegistrationAllowed.value ? (vue.openBlock(), vue.createElementBlock("button", {
1214
1270
  key: 1,
1215
1271
  onClick: _cache[1] || (_cache[1] = ($event) => signUp()),
@@ -1219,7 +1275,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
1219
1275
  };
1220
1276
  }
1221
1277
  });
1222
- const SignUpButton = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-959aa7ef"]]);
1278
+ const SignUpButton = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-7346e92d"]]);
1223
1279
  const _hoisted_1$3 = {
1224
1280
  key: 0,
1225
1281
  class: "atm-profile-container"
@@ -1236,147 +1292,143 @@ const _hoisted_5 = {
1236
1292
  key: 0,
1237
1293
  class: "atm-profile-name"
1238
1294
  };
1239
- const _hoisted_6 = {
1240
- key: 0,
1241
- class: "atm-profile-menu"
1242
- };
1243
- const _hoisted_7 = { class: "atm-profile-info" };
1244
- const _hoisted_8 = ["src"];
1245
- const _hoisted_9 = { key: 1 };
1246
- const _hoisted_10 = {
1295
+ const _hoisted_6 = { class: "atm-profile-info" };
1296
+ const _hoisted_7 = ["src"];
1297
+ const _hoisted_8 = { key: 1 };
1298
+ const _hoisted_9 = {
1247
1299
  key: 2,
1248
1300
  viewBox: "0 0 24 24",
1249
1301
  class: "atm-btn-icon",
1250
1302
  style: { "width": "40px", "height": "40px", "color": "white" }
1251
1303
  };
1252
- const _hoisted_11 = { class: "atm-profile-details" };
1253
- const _hoisted_12 = {
1304
+ const _hoisted_10 = { class: "atm-profile-details" };
1305
+ const _hoisted_11 = {
1254
1306
  key: 0,
1255
1307
  class: "atm-profile-fullname"
1256
1308
  };
1257
- const _hoisted_13 = {
1309
+ const _hoisted_12 = {
1258
1310
  key: 1,
1259
1311
  class: "atm-profile-fullname"
1260
1312
  };
1261
- const _hoisted_14 = { class: "atm-profile-email" };
1262
- const _hoisted_15 = {
1313
+ const _hoisted_13 = { class: "atm-profile-email" };
1314
+ const _hoisted_14 = {
1263
1315
  key: 0,
1264
1316
  class: "atm-profile-modal",
1265
1317
  role: "dialog",
1266
1318
  "aria-modal": "true",
1267
1319
  "aria-labelledby": "profile-modal-title"
1268
1320
  };
1269
- const _hoisted_16 = { class: "atm-profile-content" };
1270
- const _hoisted_17 = { class: "atm-profile-tabs" };
1271
- const _hoisted_18 = {
1321
+ const _hoisted_15 = { class: "atm-profile-content" };
1322
+ const _hoisted_16 = { class: "atm-profile-tabs" };
1323
+ const _hoisted_17 = {
1272
1324
  key: 0,
1273
1325
  class: "atm-profile-body"
1274
1326
  };
1275
- const _hoisted_19 = ["src"];
1276
- const _hoisted_20 = { key: 1 };
1277
- const _hoisted_21 = {
1327
+ const _hoisted_18 = ["src"];
1328
+ const _hoisted_19 = { key: 1 };
1329
+ const _hoisted_20 = {
1278
1330
  key: 2,
1279
1331
  viewBox: "0 0 24 24",
1280
1332
  class: "atm-btn-icon",
1281
1333
  style: { "width": "80px", "height": "80px", "color": "white", "margin": "0 auto" }
1282
1334
  };
1283
- const _hoisted_22 = {
1335
+ const _hoisted_21 = {
1284
1336
  key: 0,
1285
1337
  class: "atm-profile-info-grid"
1286
1338
  };
1287
- const _hoisted_23 = { class: "atm-profile-info-row" };
1288
- const _hoisted_24 = {
1339
+ const _hoisted_22 = { class: "atm-profile-info-row" };
1340
+ const _hoisted_23 = {
1289
1341
  key: 0,
1290
1342
  class: "atm-profile-info-value"
1291
1343
  };
1292
- const _hoisted_25 = {
1344
+ const _hoisted_24 = {
1293
1345
  key: 1,
1294
1346
  class: "atm-profile-info-value"
1295
1347
  };
1296
- const _hoisted_26 = { class: "atm-profile-info-row" };
1297
- const _hoisted_27 = {
1348
+ const _hoisted_25 = { class: "atm-profile-info-row" };
1349
+ const _hoisted_26 = {
1298
1350
  key: 0,
1299
1351
  class: "atm-profile-info-value"
1300
1352
  };
1301
- const _hoisted_28 = {
1353
+ const _hoisted_27 = {
1302
1354
  key: 1,
1303
1355
  class: "atm-profile-info-value"
1304
1356
  };
1305
- const _hoisted_29 = { class: "atm-profile-info-row" };
1306
- const _hoisted_30 = { class: "atm-profile-info-value" };
1307
- const _hoisted_31 = {
1357
+ const _hoisted_28 = { class: "atm-profile-info-row" };
1358
+ const _hoisted_29 = { class: "atm-profile-info-value" };
1359
+ const _hoisted_30 = {
1308
1360
  key: 1,
1309
1361
  class: "atm-profile-edit-form"
1310
1362
  };
1363
+ const _hoisted_31 = { class: "atm-form-group" };
1311
1364
  const _hoisted_32 = { class: "atm-form-group" };
1312
- const _hoisted_33 = { class: "atm-form-group" };
1313
- const _hoisted_34 = {
1365
+ const _hoisted_33 = {
1314
1366
  key: 1,
1315
1367
  class: "atm-profile-body"
1316
1368
  };
1317
- const _hoisted_35 = { class: "atm-email-add-section" };
1318
- const _hoisted_36 = { class: "atm-form-group" };
1319
- const _hoisted_37 = { class: "atm-badge" };
1320
- const _hoisted_38 = { class: "atm-email-list" };
1321
- const _hoisted_39 = { class: "atm-email-info" };
1322
- const _hoisted_40 = { class: "atm-email-address" };
1323
- const _hoisted_41 = { class: "atm-email-badges" };
1324
- const _hoisted_42 = {
1369
+ const _hoisted_34 = { class: "atm-email-add-section" };
1370
+ const _hoisted_35 = { class: "atm-form-group" };
1371
+ const _hoisted_36 = { class: "atm-badge" };
1372
+ const _hoisted_37 = { class: "atm-email-list" };
1373
+ const _hoisted_38 = { class: "atm-email-info" };
1374
+ const _hoisted_39 = { class: "atm-email-address" };
1375
+ const _hoisted_40 = { class: "atm-email-badges" };
1376
+ const _hoisted_41 = {
1325
1377
  key: 0,
1326
1378
  class: "atm-badge atm-badge-primary"
1327
1379
  };
1328
- const _hoisted_43 = {
1380
+ const _hoisted_42 = {
1329
1381
  key: 1,
1330
1382
  class: "atm-badge atm-badge-verified"
1331
1383
  };
1332
- const _hoisted_44 = {
1384
+ const _hoisted_43 = {
1333
1385
  key: 2,
1334
1386
  class: "atm-badge atm-badge-unverified"
1335
1387
  };
1336
- const _hoisted_45 = { class: "atm-email-actions" };
1388
+ const _hoisted_44 = { class: "atm-email-actions" };
1389
+ const _hoisted_45 = ["onClick"];
1337
1390
  const _hoisted_46 = ["onClick"];
1338
- const _hoisted_47 = ["onClick"];
1339
- const _hoisted_48 = {
1391
+ const _hoisted_47 = {
1340
1392
  key: 2,
1341
1393
  class: "atm-profile-body"
1342
1394
  };
1343
- const _hoisted_49 = {
1395
+ const _hoisted_48 = {
1344
1396
  key: 3,
1345
1397
  class: "atm-profile-body"
1346
1398
  };
1347
- const _hoisted_50 = { class: "atm-sessions-section" };
1348
- const _hoisted_51 = { class: "atm-sessions-list" };
1349
- const _hoisted_52 = { class: "atm-session-info" };
1350
- const _hoisted_53 = { class: "atm-session-header" };
1351
- const _hoisted_54 = {
1399
+ const _hoisted_49 = { class: "atm-sessions-section" };
1400
+ const _hoisted_50 = { class: "atm-sessions-list" };
1401
+ const _hoisted_51 = { class: "atm-session-info" };
1402
+ const _hoisted_52 = { class: "atm-session-header" };
1403
+ const _hoisted_53 = {
1352
1404
  viewBox: "0 0 24 24",
1353
1405
  class: "atm-session-icon"
1354
1406
  };
1355
- const _hoisted_55 = ["d"];
1356
- const _hoisted_56 = { class: "atm-session-details" };
1357
- const _hoisted_57 = { class: "atm-session-title" };
1358
- const _hoisted_58 = {
1407
+ const _hoisted_54 = ["d"];
1408
+ const _hoisted_55 = { class: "atm-session-details" };
1409
+ const _hoisted_56 = { class: "atm-session-title" };
1410
+ const _hoisted_57 = {
1359
1411
  key: 0,
1360
1412
  class: "atm-badge atm-badge-current"
1361
1413
  };
1362
- const _hoisted_59 = {
1414
+ const _hoisted_58 = {
1363
1415
  key: 0,
1364
1416
  class: "atm-session-device-info"
1365
1417
  };
1366
- const _hoisted_60 = { key: 0 };
1367
- const _hoisted_61 = { key: 1 };
1368
- const _hoisted_62 = { key: 2 };
1369
- const _hoisted_63 = { class: "atm-session-timestamps" };
1418
+ const _hoisted_59 = { key: 0 };
1419
+ const _hoisted_60 = { key: 1 };
1420
+ const _hoisted_61 = { key: 2 };
1421
+ const _hoisted_62 = { class: "atm-session-timestamps" };
1422
+ const _hoisted_63 = { class: "atm-session-timestamp" };
1370
1423
  const _hoisted_64 = { class: "atm-session-timestamp" };
1371
- const _hoisted_65 = { class: "atm-session-timestamp" };
1372
- const _hoisted_66 = { class: "atm-session-actions" };
1373
- const _hoisted_67 = ["onClick"];
1424
+ const _hoisted_65 = { class: "atm-session-actions" };
1425
+ const _hoisted_66 = ["onClick"];
1374
1426
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1375
1427
  __name: "UserProfile",
1376
1428
  setup(__props) {
1377
1429
  vue.useCssVars((_ctx) => ({
1378
- "v1982ae74": atmPrimaryColor.value,
1379
- "c7d31cfc": atmSecondaryColor.value
1430
+ "v4406ee78": atmPrimaryColor.value,
1431
+ "v2982f7d2": atmSecondaryColor.value
1380
1432
  }));
1381
1433
  const { user, logout } = useAuth();
1382
1434
  const { configurations } = useAtm();
@@ -1386,6 +1438,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1386
1438
  const isProfileModalOpen = vue.ref(false);
1387
1439
  const isEditingProfile = vue.ref(false);
1388
1440
  const buttonRef = vue.ref(null);
1441
+ const dropdownPosition = vue.ref("left");
1389
1442
  const emailAddresses = vue.ref([]);
1390
1443
  const newEmail = vue.ref("");
1391
1444
  const activeTab = vue.ref("geral");
@@ -1416,7 +1469,34 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1416
1469
  if (!user.value || !user.value.firstName) return "";
1417
1470
  return (user.value.firstName.charAt(0) + (user.value.lastName?.charAt(0) || "")).toUpperCase();
1418
1471
  });
1419
- const toggleMenu = () => isDropdownOpen.value = !isDropdownOpen.value;
1472
+ const calculateDropdownPosition = () => {
1473
+ if (!buttonRef.value) return;
1474
+ const buttonRect = buttonRef.value.getBoundingClientRect();
1475
+ const viewportWidth = window.innerWidth;
1476
+ let dropdownWidth = 280;
1477
+ if (viewportWidth <= 360) {
1478
+ dropdownWidth = Math.min(220, viewportWidth - 16);
1479
+ } else if (viewportWidth <= 480) {
1480
+ dropdownWidth = Math.min(240, viewportWidth - 20);
1481
+ } else if (viewportWidth <= 768) {
1482
+ dropdownWidth = 260;
1483
+ }
1484
+ const spaceOnRight = viewportWidth - buttonRect.right;
1485
+ const spaceOnLeft = buttonRect.left;
1486
+ if (spaceOnRight >= dropdownWidth) {
1487
+ dropdownPosition.value = "left";
1488
+ } else if (spaceOnLeft >= dropdownWidth) {
1489
+ dropdownPosition.value = "right";
1490
+ } else {
1491
+ dropdownPosition.value = spaceOnRight >= spaceOnLeft ? "left" : "right";
1492
+ }
1493
+ };
1494
+ const toggleMenu = () => {
1495
+ isDropdownOpen.value = !isDropdownOpen.value;
1496
+ if (isDropdownOpen.value) {
1497
+ setTimeout(() => calculateDropdownPosition(), 0);
1498
+ }
1499
+ };
1420
1500
  const closeMenu = (event) => {
1421
1501
  if (buttonRef.value && !buttonRef.value.contains(event.target)) {
1422
1502
  isDropdownOpen.value = false;
@@ -1662,8 +1742,14 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1662
1742
  const hasFullName = vue.computed(() => {
1663
1743
  return !!(user.value?.firstName && user.value?.lastName);
1664
1744
  });
1665
- vue.onMounted(() => document.addEventListener("click", closeMenu));
1666
- vue.onUnmounted(() => document.removeEventListener("click", closeMenu));
1745
+ vue.onMounted(() => {
1746
+ document.addEventListener("click", closeMenu);
1747
+ window.addEventListener("resize", calculateDropdownPosition);
1748
+ });
1749
+ vue.onUnmounted(() => {
1750
+ document.removeEventListener("click", closeMenu);
1751
+ window.removeEventListener("resize", calculateDropdownPosition);
1752
+ });
1667
1753
  return (_ctx, _cache) => {
1668
1754
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
1669
1755
  vue.createVNode(Notification, {
@@ -1707,8 +1793,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1707
1793
  ], 512),
1708
1794
  vue.createVNode(vue.Transition, { name: "atm-fade" }, {
1709
1795
  default: vue.withCtx(() => [
1710
- isDropdownOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
1711
- vue.createElementVNode("div", _hoisted_7, [
1796
+ isDropdownOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
1797
+ key: 0,
1798
+ class: vue.normalizeClass(["atm-profile-menu", `atm-position-${dropdownPosition.value}`])
1799
+ }, [
1800
+ vue.createElementVNode("div", _hoisted_6, [
1712
1801
  vue.createElementVNode("div", {
1713
1802
  class: "atm-profile-avatar large",
1714
1803
  style: vue.normalizeStyle(vue.unref(user)?.profileImage ? {} : { backgroundColor: atmPrimaryColor.value })
@@ -1718,16 +1807,16 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1718
1807
  src: vue.unref(user).profileImage,
1719
1808
  alt: "Profile",
1720
1809
  class: "atm-profile-avatar-img"
1721
- }, null, 8, _hoisted_8)) : hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9, vue.toDisplayString(userInitials.value), 1)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_10, [..._cache[9] || (_cache[9] = [
1810
+ }, null, 8, _hoisted_7)) : hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8, vue.toDisplayString(userInitials.value), 1)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9, [..._cache[9] || (_cache[9] = [
1722
1811
  vue.createElementVNode("path", {
1723
1812
  fill: "currentColor",
1724
1813
  d: "M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"
1725
1814
  }, null, -1)
1726
1815
  ])]))
1727
1816
  ], 4),
1728
- vue.createElementVNode("div", _hoisted_11, [
1729
- hasFullName.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_12, vue.toDisplayString(vue.unref(user).firstName) + " " + vue.toDisplayString(vue.unref(user).lastName), 1)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_13, "Usuário")),
1730
- vue.createElementVNode("p", _hoisted_14, vue.toDisplayString(vue.unref(user).primaryEmailAddress), 1)
1817
+ vue.createElementVNode("div", _hoisted_10, [
1818
+ hasFullName.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_11, vue.toDisplayString(vue.unref(user).firstName) + " " + vue.toDisplayString(vue.unref(user).lastName), 1)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_12, "Usuário")),
1819
+ vue.createElementVNode("p", _hoisted_13, vue.toDisplayString(vue.unref(user).primaryEmailAddress), 1)
1731
1820
  ])
1732
1821
  ]),
1733
1822
  vue.createElementVNode("div", { class: "atm-profile-options" }, [
@@ -1764,16 +1853,16 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1764
1853
  vue.createTextVNode(" Sair ", -1)
1765
1854
  ])])
1766
1855
  ])
1767
- ])) : vue.createCommentVNode("", true)
1856
+ ], 2)) : vue.createCommentVNode("", true)
1768
1857
  ]),
1769
1858
  _: 1
1770
1859
  }),
1771
- isProfileModalOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15, [
1860
+ isProfileModalOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14, [
1772
1861
  vue.createElementVNode("div", {
1773
1862
  class: "atm-profile-overlay",
1774
1863
  onClick: closeProfileModal
1775
1864
  }),
1776
- vue.createElementVNode("div", _hoisted_16, [
1865
+ vue.createElementVNode("div", _hoisted_15, [
1777
1866
  vue.createElementVNode("div", { class: "atm-profile-header" }, [
1778
1867
  vue.createElementVNode("button", {
1779
1868
  onClick: closeProfileModal,
@@ -1785,7 +1874,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1785
1874
  class: "atm-profile-title"
1786
1875
  }, "Meu Perfil", -1))
1787
1876
  ]),
1788
- vue.createElementVNode("div", _hoisted_17, [
1877
+ vue.createElementVNode("div", _hoisted_16, [
1789
1878
  vue.createElementVNode("button", {
1790
1879
  onClick: _cache[0] || (_cache[0] = ($event) => activeTab.value = "geral"),
1791
1880
  class: vue.normalizeClass(["atm-tab", { "atm-tab-active": activeTab.value === "geral" }])
@@ -1847,7 +1936,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1847
1936
  vue.createTextVNode(" Sessões ", -1)
1848
1937
  ])], 2)
1849
1938
  ]),
1850
- activeTab.value === "geral" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, [
1939
+ activeTab.value === "geral" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17, [
1851
1940
  vue.createElementVNode("div", {
1852
1941
  class: "atm-profile-avatar-large",
1853
1942
  style: vue.normalizeStyle(vue.unref(user)?.profileImage ? {} : { backgroundColor: atmPrimaryColor.value })
@@ -1857,25 +1946,25 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1857
1946
  src: vue.unref(user).profileImage,
1858
1947
  alt: "Profile",
1859
1948
  class: "atm-profile-avatar-img"
1860
- }, null, 8, _hoisted_19)) : hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_20, vue.toDisplayString(userInitials.value), 1)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_21, [..._cache[17] || (_cache[17] = [
1949
+ }, null, 8, _hoisted_18)) : hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19, vue.toDisplayString(userInitials.value), 1)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_20, [..._cache[17] || (_cache[17] = [
1861
1950
  vue.createElementVNode("path", {
1862
1951
  fill: "currentColor",
1863
1952
  d: "M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"
1864
1953
  }, null, -1)
1865
1954
  ])]))
1866
1955
  ], 4),
1867
- !isEditingProfile.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_22, [
1868
- vue.createElementVNode("div", _hoisted_23, [
1956
+ !isEditingProfile.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21, [
1957
+ vue.createElementVNode("div", _hoisted_22, [
1869
1958
  _cache[18] || (_cache[18] = vue.createElementVNode("span", { class: "atm-profile-info-label" }, "Nome", -1)),
1870
- hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_24, vue.toDisplayString(profileForm.value.firstName), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_25, "Não informado"))
1959
+ hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_23, vue.toDisplayString(profileForm.value.firstName), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_24, "Não informado"))
1871
1960
  ]),
1872
- vue.createElementVNode("div", _hoisted_26, [
1961
+ vue.createElementVNode("div", _hoisted_25, [
1873
1962
  _cache[19] || (_cache[19] = vue.createElementVNode("span", { class: "atm-profile-info-label" }, "Sobrenome", -1)),
1874
- hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27, vue.toDisplayString(profileForm.value.lastName), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_28, "Não informado"))
1963
+ hasFullName.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_26, vue.toDisplayString(profileForm.value.lastName), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_27, "Não informado"))
1875
1964
  ]),
1876
- vue.createElementVNode("div", _hoisted_29, [
1965
+ vue.createElementVNode("div", _hoisted_28, [
1877
1966
  _cache[20] || (_cache[20] = vue.createElementVNode("span", { class: "atm-profile-info-label" }, "Email Principal", -1)),
1878
- vue.createElementVNode("span", _hoisted_30, vue.toDisplayString(profileForm.value.primaryEmailAddress), 1)
1967
+ vue.createElementVNode("span", _hoisted_29, vue.toDisplayString(profileForm.value.primaryEmailAddress), 1)
1879
1968
  ]),
1880
1969
  vue.createElementVNode("div", { class: "atm-profile-info-row" }, [
1881
1970
  vue.createElementVNode("button", {
@@ -1895,8 +1984,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1895
1984
  vue.createTextVNode(" Editar Perfil ", -1)
1896
1985
  ])])
1897
1986
  ])
1898
- ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_31, [
1899
- vue.createElementVNode("div", _hoisted_32, [
1987
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_30, [
1988
+ vue.createElementVNode("div", _hoisted_31, [
1900
1989
  _cache[22] || (_cache[22] = vue.createElementVNode("label", { class: "atm-input-label" }, "Nome", -1)),
1901
1990
  vue.withDirectives(vue.createElementVNode("input", {
1902
1991
  type: "text",
@@ -1907,7 +1996,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1907
1996
  [vue.vModelText, profileForm.value.firstName]
1908
1997
  ])
1909
1998
  ]),
1910
- vue.createElementVNode("div", _hoisted_33, [
1999
+ vue.createElementVNode("div", _hoisted_32, [
1911
2000
  _cache[23] || (_cache[23] = vue.createElementVNode("label", { class: "atm-input-label" }, "Sobrenome", -1)),
1912
2001
  vue.withDirectives(vue.createElementVNode("input", {
1913
2002
  type: "text",
@@ -1954,11 +2043,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1954
2043
  ])
1955
2044
  ]))
1956
2045
  ])) : vue.createCommentVNode("", true),
1957
- activeTab.value === "emails" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_34, [
1958
- vue.createElementVNode("div", _hoisted_35, [
1959
- vue.createElementVNode("div", _hoisted_36, [
2046
+ activeTab.value === "emails" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_33, [
2047
+ vue.createElementVNode("div", _hoisted_34, [
2048
+ vue.createElementVNode("div", _hoisted_35, [
1960
2049
  _cache[27] || (_cache[27] = vue.createElementVNode("label", { class: "atm-input-label" }, "Adicionar novo email", -1)),
1961
- vue.createElementVNode("div", _hoisted_37, [
2050
+ vue.createElementVNode("div", _hoisted_36, [
1962
2051
  vue.withDirectives(vue.createElementVNode("input", {
1963
2052
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => newEmail.value = $event),
1964
2053
  type: "email",
@@ -1985,14 +2074,14 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
1985
2074
  ])
1986
2075
  ])
1987
2076
  ]),
1988
- vue.createElementVNode("div", _hoisted_38, [
2077
+ vue.createElementVNode("div", _hoisted_37, [
1989
2078
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(emailAddresses.value, (email) => {
1990
2079
  return vue.openBlock(), vue.createElementBlock("div", {
1991
2080
  key: email.id,
1992
2081
  class: "atm-email-item"
1993
2082
  }, [
1994
- vue.createElementVNode("div", _hoisted_39, [
1995
- vue.createElementVNode("div", _hoisted_40, [
2083
+ vue.createElementVNode("div", _hoisted_38, [
2084
+ vue.createElementVNode("div", _hoisted_39, [
1996
2085
  _cache[28] || (_cache[28] = vue.createElementVNode("svg", {
1997
2086
  viewBox: "0 0 24 24",
1998
2087
  class: "atm-email-icon"
@@ -2004,9 +2093,9 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2004
2093
  ], -1)),
2005
2094
  vue.createElementVNode("span", null, vue.toDisplayString(email.email_address), 1)
2006
2095
  ]),
2007
- vue.createElementVNode("div", _hoisted_41, [
2008
- email.primary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_42, "Principal")) : vue.createCommentVNode("", true),
2009
- email.verified ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_43, [..._cache[29] || (_cache[29] = [
2096
+ vue.createElementVNode("div", _hoisted_40, [
2097
+ email.primary ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_41, "Principal")) : vue.createCommentVNode("", true),
2098
+ email.verified ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_42, [..._cache[29] || (_cache[29] = [
2010
2099
  vue.createElementVNode("svg", {
2011
2100
  viewBox: "0 0 24 24",
2012
2101
  class: "atm-badge-icon"
@@ -2017,7 +2106,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2017
2106
  })
2018
2107
  ], -1),
2019
2108
  vue.createTextVNode(" Verificado ", -1)
2020
- ])])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_44, [..._cache[30] || (_cache[30] = [
2109
+ ])])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_43, [..._cache[30] || (_cache[30] = [
2021
2110
  vue.createElementVNode("svg", {
2022
2111
  viewBox: "0 0 24 24",
2023
2112
  class: "atm-badge-icon"
@@ -2031,7 +2120,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2031
2120
  ])]))
2032
2121
  ])
2033
2122
  ]),
2034
- vue.createElementVNode("div", _hoisted_45, [
2123
+ vue.createElementVNode("div", _hoisted_44, [
2035
2124
  !email.verified ? (vue.openBlock(), vue.createElementBlock("button", {
2036
2125
  key: 0,
2037
2126
  onClick: ($event) => requestEmailVerification(email.id),
@@ -2048,7 +2137,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2048
2137
  })
2049
2138
  ], -1),
2050
2139
  vue.createTextVNode(" Verificar ", -1)
2051
- ])], 8, _hoisted_46)) : vue.createCommentVNode("", true),
2140
+ ])], 8, _hoisted_45)) : vue.createCommentVNode("", true),
2052
2141
  !email.primary ? (vue.openBlock(), vue.createElementBlock("button", {
2053
2142
  key: 1,
2054
2143
  onClick: ($event) => deleteEmailAddress(email.id),
@@ -2065,13 +2154,13 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2065
2154
  })
2066
2155
  ], -1),
2067
2156
  vue.createTextVNode(" Remover ", -1)
2068
- ])], 8, _hoisted_47)) : vue.createCommentVNode("", true)
2157
+ ])], 8, _hoisted_46)) : vue.createCommentVNode("", true)
2069
2158
  ])
2070
2159
  ]);
2071
2160
  }), 128))
2072
2161
  ])
2073
2162
  ])) : vue.createCommentVNode("", true),
2074
- activeTab.value === "senha" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_48, [
2163
+ activeTab.value === "senha" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_47, [
2075
2164
  vue.createElementVNode("div", { class: "atm-password-section" }, [
2076
2165
  _cache[34] || (_cache[34] = vue.createElementVNode("div", { class: "atm-profile-info-row" }, [
2077
2166
  vue.createElementVNode("span", { class: "atm-profile-info-label" }, "Redefinir Senha"),
@@ -2097,41 +2186,41 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2097
2186
  ])
2098
2187
  ])
2099
2188
  ])) : vue.createCommentVNode("", true),
2100
- activeTab.value === "sessoes" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_49, [
2101
- vue.createElementVNode("div", _hoisted_50, [
2189
+ activeTab.value === "sessoes" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_48, [
2190
+ vue.createElementVNode("div", _hoisted_49, [
2102
2191
  _cache[38] || (_cache[38] = vue.createElementVNode("div", { class: "atm-sessions-info" }, [
2103
2192
  vue.createElementVNode("p", { class: "atm-sessions-description" }, " Gerencie os dispositivos conectados à sua conta. Você pode encerrar sessões em dispositivos que não reconhece. ")
2104
2193
  ], -1)),
2105
- vue.createElementVNode("div", _hoisted_51, [
2194
+ vue.createElementVNode("div", _hoisted_50, [
2106
2195
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(sessions.value, (session) => {
2107
2196
  return vue.openBlock(), vue.createElementBlock("div", {
2108
2197
  key: session.id,
2109
2198
  class: "atm-session-item"
2110
2199
  }, [
2111
- vue.createElementVNode("div", _hoisted_52, [
2112
- vue.createElementVNode("div", _hoisted_53, [
2113
- (vue.openBlock(), vue.createElementBlock("svg", _hoisted_54, [
2200
+ vue.createElementVNode("div", _hoisted_51, [
2201
+ vue.createElementVNode("div", _hoisted_52, [
2202
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_53, [
2114
2203
  vue.createElementVNode("path", {
2115
2204
  fill: "currentColor",
2116
2205
  d: getDeviceIcon(session.device)
2117
- }, null, 8, _hoisted_55)
2206
+ }, null, 8, _hoisted_54)
2118
2207
  ])),
2119
- vue.createElementVNode("div", _hoisted_56, [
2120
- vue.createElementVNode("div", _hoisted_57, [
2208
+ vue.createElementVNode("div", _hoisted_55, [
2209
+ vue.createElementVNode("div", _hoisted_56, [
2121
2210
  vue.createElementVNode("span", null, vue.toDisplayString(session.ip_address), 1),
2122
- session.current === 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_58, "Atual")) : vue.createCommentVNode("", true)
2211
+ session.current === 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_57, "Atual")) : vue.createCommentVNode("", true)
2123
2212
  ]),
2124
- session.device.browser || session.device.platform ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_59, [
2125
- session.device.browser ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_60, vue.toDisplayString(session.device.browser) + vue.toDisplayString(session.device.browser_version ? ` ${session.device.browser_version}` : ""), 1)) : vue.createCommentVNode("", true),
2126
- session.device.browser && session.device.platform ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_61, " • ")) : vue.createCommentVNode("", true),
2127
- session.device.platform ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_62, vue.toDisplayString(session.device.platform), 1)) : vue.createCommentVNode("", true)
2213
+ session.device.browser || session.device.platform ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_58, [
2214
+ session.device.browser ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_59, vue.toDisplayString(session.device.browser) + vue.toDisplayString(session.device.browser_version ? ` ${session.device.browser_version}` : ""), 1)) : vue.createCommentVNode("", true),
2215
+ session.device.browser && session.device.platform ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_60, " • ")) : vue.createCommentVNode("", true),
2216
+ session.device.platform ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_61, vue.toDisplayString(session.device.platform), 1)) : vue.createCommentVNode("", true)
2128
2217
  ])) : vue.createCommentVNode("", true),
2129
- vue.createElementVNode("div", _hoisted_63, [
2130
- vue.createElementVNode("div", _hoisted_64, [
2218
+ vue.createElementVNode("div", _hoisted_62, [
2219
+ vue.createElementVNode("div", _hoisted_63, [
2131
2220
  _cache[35] || (_cache[35] = vue.createElementVNode("span", { class: "atm-timestamp-label" }, "Iniciada:", -1)),
2132
2221
  vue.createElementVNode("span", null, vue.toDisplayString(formatDate(session.started_at)), 1)
2133
2222
  ]),
2134
- vue.createElementVNode("div", _hoisted_65, [
2223
+ vue.createElementVNode("div", _hoisted_64, [
2135
2224
  _cache[36] || (_cache[36] = vue.createElementVNode("span", { class: "atm-timestamp-label" }, "Última atividade:", -1)),
2136
2225
  vue.createElementVNode("span", null, vue.toDisplayString(formatDate(session.last_activity_at)), 1)
2137
2226
  ])
@@ -2139,7 +2228,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2139
2228
  ])
2140
2229
  ])
2141
2230
  ]),
2142
- vue.createElementVNode("div", _hoisted_66, [
2231
+ vue.createElementVNode("div", _hoisted_65, [
2143
2232
  session.current !== 1 ? (vue.openBlock(), vue.createElementBlock("button", {
2144
2233
  key: 0,
2145
2234
  onClick: ($event) => closeSessionById(session.id),
@@ -2156,7 +2245,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2156
2245
  })
2157
2246
  ], -1),
2158
2247
  vue.createTextVNode(" Encerrar ", -1)
2159
- ])], 8, _hoisted_67)) : vue.createCommentVNode("", true)
2248
+ ])], 8, _hoisted_66)) : vue.createCommentVNode("", true)
2160
2249
  ])
2161
2250
  ]);
2162
2251
  }), 128))