@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.js 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
  })();
@@ -248,11 +248,15 @@ const _hoisted_24$2 = {
248
248
  const _hoisted_25$2 = { key: 0 };
249
249
  const _hoisted_26$2 = { key: 1 };
250
250
  const _hoisted_27$2 = { class: "atm-footer-links" };
251
- const _hoisted_28$1 = { class: "atm-signup-text" };
251
+ const _hoisted_28$1 = {
252
+ key: 0,
253
+ class: "atm-signup-text"
254
+ };
252
255
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
253
256
  __name: "SignIn",
254
257
  props: {
255
- redirect: {}
258
+ redirect: {},
259
+ signUpLink: {}
256
260
  },
257
261
  emits: [
258
262
  "completed",
@@ -260,8 +264,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
260
264
  ],
261
265
  setup(__props, { emit: __emit }) {
262
266
  useCssVars((_ctx) => ({
263
- "v18341448": atmPrimaryColor.value,
264
- "v97f49b54": atmSecondaryColor.value
267
+ "v36da353d": atmPrimaryColor.value,
268
+ "v7cb12bea": atmSecondaryColor.value
265
269
  }));
266
270
  const props = __props;
267
271
  const emit = __emit;
@@ -288,6 +292,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
288
292
  const atmPrimaryColor = computed(() => configurations.value?.design?.primaryColor);
289
293
  const atmSecondaryColor = computed(() => configurations.value?.design?.secondaryColor);
290
294
  const logoUrl = computed(() => configurations.value?.project?.logo || "");
295
+ const isRegisterEnabled = computed(() => configurations.value?.register?.enable !== false);
291
296
  const buttonText = computed(() => {
292
297
  if (currentStep.value === "email") return "Entrar";
293
298
  if (currentStep.value === "choose_strategy") return "";
@@ -494,7 +499,19 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
494
499
  isLoading.value = false;
495
500
  }
496
501
  };
497
- const signUp = () => emit("sign-up");
502
+ const signUp = () => {
503
+ if (props.signUpLink) {
504
+ const instance = getCurrentInstance();
505
+ const router = instance?.appContext.config.globalProperties.$router;
506
+ if (router) {
507
+ router.push(props.signUpLink);
508
+ } else {
509
+ window.location.href = props.signUpLink;
510
+ }
511
+ } else {
512
+ emit("sign-up");
513
+ }
514
+ };
498
515
  onMounted(() => {
499
516
  nextTick(() => {
500
517
  if (emailInput.value) {
@@ -614,13 +631,13 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
614
631
  ]))
615
632
  ], 8, _hoisted_22$2)) : createCommentVNode("", true),
616
633
  createElementVNode("div", _hoisted_27$2, [
617
- createElementVNode("p", _hoisted_28$1, [
634
+ isRegisterEnabled.value ? (openBlock(), createElementBlock("p", _hoisted_28$1, [
618
635
  _cache[11] || (_cache[11] = createTextVNode(" Ainda não tem uma conta? ", -1)),
619
636
  createElementVNode("a", {
620
637
  onClick: _cache[3] || (_cache[3] = ($event) => signUp()),
621
638
  class: "atm-signup-link"
622
639
  }, "Cadastre aqui")
623
- ]),
640
+ ])) : createCommentVNode("", true),
624
641
  _cache[12] || (_cache[12] = createElementVNode("p", { class: "atm-powered-by" }, [
625
642
  createTextVNode(" Secured by "),
626
643
  createElementVNode("strong", null, "Autenticar.me")
@@ -631,7 +648,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
631
648
  };
632
649
  }
633
650
  });
634
- const SignIn = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-305a11b6"]]);
651
+ const SignIn = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-c3d00fb8"]]);
635
652
  const _hoisted_1$6 = {
636
653
  key: 0,
637
654
  class: "atm-notification-container"
@@ -724,13 +741,14 @@ const _hoisted_27$1 = { class: "atm-login-text" };
724
741
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
725
742
  __name: "SignUp",
726
743
  props: {
727
- redirect: {}
744
+ redirect: {},
745
+ signInLink: {}
728
746
  },
729
747
  emits: ["completed", "sign-in"],
730
748
  setup(__props, { emit: __emit }) {
731
749
  useCssVars((_ctx) => ({
732
- "v1ca6007a": atmPrimaryColor.value,
733
- "v12f1ab11": atmSecondaryColor.value
750
+ "v9e732be0": atmPrimaryColor.value,
751
+ "v7159b61e": atmSecondaryColor.value
734
752
  }));
735
753
  const props = __props;
736
754
  const emit = __emit;
@@ -893,7 +911,19 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
893
911
  isLoading.value = false;
894
912
  }
895
913
  };
896
- const signIn = () => emit("sign-in");
914
+ const signIn = () => {
915
+ if (props.signInLink) {
916
+ const instance = getCurrentInstance();
917
+ const router = instance?.appContext.config.globalProperties.$router;
918
+ if (router) {
919
+ router.push(props.signInLink);
920
+ } else {
921
+ window.location.href = props.signInLink;
922
+ }
923
+ } else {
924
+ emit("sign-in");
925
+ }
926
+ };
897
927
  return (_ctx, _cache) => {
898
928
  return openBlock(), createElementBlock(Fragment, null, [
899
929
  createVNode(Notification, {
@@ -1026,9 +1056,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1026
1056
  };
1027
1057
  }
1028
1058
  });
1029
- const SignUp = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-e15f7da9"]]);
1059
+ const SignUp = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-3359c6ca"]]);
1030
1060
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1031
1061
  __name: "SignInModal",
1062
+ props: {
1063
+ redirect: {},
1064
+ signUpLink: {}
1065
+ },
1032
1066
  emits: [
1033
1067
  "close"
1034
1068
  ],
@@ -1064,14 +1098,17 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1064
1098
  default: withCtx(() => [
1065
1099
  component.value === "sign-in" ? (openBlock(), createBlock(SignIn, {
1066
1100
  key: 0,
1101
+ redirect: __props.redirect,
1102
+ signUpLink: __props.signUpLink,
1067
1103
  onSignUp: _cache[0] || (_cache[0] = ($event) => signUp()),
1068
1104
  onCompleted: _cache[1] || (_cache[1] = ($event) => close())
1069
- })) : createCommentVNode("", true),
1105
+ }, null, 8, ["redirect", "signUpLink"])) : createCommentVNode("", true),
1070
1106
  component.value === "sign-up" ? (openBlock(), createBlock(SignUp, {
1071
1107
  key: 1,
1108
+ redirect: __props.redirect,
1072
1109
  onSignIn: _cache[2] || (_cache[2] = ($event) => signIn()),
1073
1110
  onCompleted: _cache[3] || (_cache[3] = ($event) => close())
1074
- })) : createCommentVNode("", true)
1111
+ }, null, 8, ["redirect"])) : createCommentVNode("", true)
1075
1112
  ]),
1076
1113
  _: 1
1077
1114
  }, 8, ["max-width"]);
@@ -1080,9 +1117,13 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1080
1117
  });
1081
1118
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1082
1119
  __name: "SignInButton",
1120
+ props: {
1121
+ redirect: {},
1122
+ signUpLink: {}
1123
+ },
1083
1124
  setup(__props) {
1084
1125
  useCssVars((_ctx) => ({
1085
- "v0f0ded3a": atmPrimaryColor.value
1126
+ "v111e7704": atmPrimaryColor.value
1086
1127
  }));
1087
1128
  const showSignInModal = ref(false);
1088
1129
  const { configurations } = useAtm();
@@ -1115,8 +1156,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1115
1156
  }, null, 8, ["show", "message", "type"]),
1116
1157
  showSignInModal.value ? (openBlock(), createBlock(_sfc_main$8, {
1117
1158
  key: 0,
1159
+ redirect: __props.redirect,
1160
+ signUpLink: __props.signUpLink,
1118
1161
  onClose: _cache[0] || (_cache[0] = () => showSignInModal.value = false)
1119
- })) : createCommentVNode("", true),
1162
+ }, null, 8, ["redirect", "signUpLink"])) : createCommentVNode("", true),
1120
1163
  createElementVNode("button", {
1121
1164
  onClick: _cache[1] || (_cache[1] = ($event) => signIn()),
1122
1165
  class: "atm-signin-btn"
@@ -1125,13 +1168,17 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1125
1168
  };
1126
1169
  }
1127
1170
  });
1128
- const SignInButton = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-4139c6d0"]]);
1171
+ const SignInButton = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-e490ca63"]]);
1129
1172
  const _hoisted_1$4 = {
1130
1173
  key: 2,
1131
1174
  style: { "padding": "24px", "text-align": "center" }
1132
1175
  };
1133
1176
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1134
1177
  __name: "SignUpModal",
1178
+ props: {
1179
+ redirect: {},
1180
+ signInLink: {}
1181
+ },
1135
1182
  emits: [
1136
1183
  "close"
1137
1184
  ],
@@ -1169,14 +1216,17 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1169
1216
  default: withCtx(() => [
1170
1217
  component.value === "sign-in" ? (openBlock(), createBlock(SignIn, {
1171
1218
  key: 0,
1219
+ redirect: __props.redirect,
1172
1220
  onSignUp: _cache[0] || (_cache[0] = ($event) => signUp()),
1173
1221
  onCompleted: _cache[1] || (_cache[1] = ($event) => close())
1174
- })) : createCommentVNode("", true),
1222
+ }, null, 8, ["redirect"])) : createCommentVNode("", true),
1175
1223
  component.value === "sign-up" && isRegistrationAllowed.value ? (openBlock(), createBlock(SignUp, {
1176
1224
  key: 1,
1225
+ redirect: __props.redirect,
1226
+ signInLink: __props.signInLink,
1177
1227
  onSignIn: _cache[2] || (_cache[2] = ($event) => signIn()),
1178
1228
  onCompleted: _cache[3] || (_cache[3] = ($event) => close())
1179
- })) : component.value === "sign-up" ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
1229
+ }, null, 8, ["redirect", "signInLink"])) : component.value === "sign-up" ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
1180
1230
  _cache[6] || (_cache[6] = createElementVNode("p", { style: { "margin-bottom": "16px" } }, "Registro não está disponível no momento", -1)),
1181
1231
  createElementVNode("button", {
1182
1232
  onClick: _cache[4] || (_cache[4] = ($event) => signIn()),
@@ -1191,9 +1241,13 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1191
1241
  });
1192
1242
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1193
1243
  __name: "SignUpButton",
1244
+ props: {
1245
+ redirect: {},
1246
+ signInLink: {}
1247
+ },
1194
1248
  setup(__props) {
1195
1249
  useCssVars((_ctx) => ({
1196
- "v1112fbaa": atmPrimaryColor.value
1250
+ "v334adbc1": atmPrimaryColor.value
1197
1251
  }));
1198
1252
  const showSignUpModal = ref(false);
1199
1253
  const { configurations } = useAtm();
@@ -1206,8 +1260,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1206
1260
  return openBlock(), createElementBlock(Fragment, null, [
1207
1261
  showSignUpModal.value ? (openBlock(), createBlock(_sfc_main$6, {
1208
1262
  key: 0,
1263
+ redirect: __props.redirect,
1264
+ signInLink: __props.signInLink,
1209
1265
  onClose: _cache[0] || (_cache[0] = () => showSignUpModal.value = false)
1210
- })) : createCommentVNode("", true),
1266
+ }, null, 8, ["redirect", "signInLink"])) : createCommentVNode("", true),
1211
1267
  isRegistrationAllowed.value ? (openBlock(), createElementBlock("button", {
1212
1268
  key: 1,
1213
1269
  onClick: _cache[1] || (_cache[1] = ($event) => signUp()),
@@ -1217,7 +1273,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1217
1273
  };
1218
1274
  }
1219
1275
  });
1220
- const SignUpButton = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-959aa7ef"]]);
1276
+ const SignUpButton = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-7346e92d"]]);
1221
1277
  const _hoisted_1$3 = {
1222
1278
  key: 0,
1223
1279
  class: "atm-profile-container"
@@ -1234,147 +1290,143 @@ const _hoisted_5 = {
1234
1290
  key: 0,
1235
1291
  class: "atm-profile-name"
1236
1292
  };
1237
- const _hoisted_6 = {
1238
- key: 0,
1239
- class: "atm-profile-menu"
1240
- };
1241
- const _hoisted_7 = { class: "atm-profile-info" };
1242
- const _hoisted_8 = ["src"];
1243
- const _hoisted_9 = { key: 1 };
1244
- const _hoisted_10 = {
1293
+ const _hoisted_6 = { class: "atm-profile-info" };
1294
+ const _hoisted_7 = ["src"];
1295
+ const _hoisted_8 = { key: 1 };
1296
+ const _hoisted_9 = {
1245
1297
  key: 2,
1246
1298
  viewBox: "0 0 24 24",
1247
1299
  class: "atm-btn-icon",
1248
1300
  style: { "width": "40px", "height": "40px", "color": "white" }
1249
1301
  };
1250
- const _hoisted_11 = { class: "atm-profile-details" };
1251
- const _hoisted_12 = {
1302
+ const _hoisted_10 = { class: "atm-profile-details" };
1303
+ const _hoisted_11 = {
1252
1304
  key: 0,
1253
1305
  class: "atm-profile-fullname"
1254
1306
  };
1255
- const _hoisted_13 = {
1307
+ const _hoisted_12 = {
1256
1308
  key: 1,
1257
1309
  class: "atm-profile-fullname"
1258
1310
  };
1259
- const _hoisted_14 = { class: "atm-profile-email" };
1260
- const _hoisted_15 = {
1311
+ const _hoisted_13 = { class: "atm-profile-email" };
1312
+ const _hoisted_14 = {
1261
1313
  key: 0,
1262
1314
  class: "atm-profile-modal",
1263
1315
  role: "dialog",
1264
1316
  "aria-modal": "true",
1265
1317
  "aria-labelledby": "profile-modal-title"
1266
1318
  };
1267
- const _hoisted_16 = { class: "atm-profile-content" };
1268
- const _hoisted_17 = { class: "atm-profile-tabs" };
1269
- const _hoisted_18 = {
1319
+ const _hoisted_15 = { class: "atm-profile-content" };
1320
+ const _hoisted_16 = { class: "atm-profile-tabs" };
1321
+ const _hoisted_17 = {
1270
1322
  key: 0,
1271
1323
  class: "atm-profile-body"
1272
1324
  };
1273
- const _hoisted_19 = ["src"];
1274
- const _hoisted_20 = { key: 1 };
1275
- const _hoisted_21 = {
1325
+ const _hoisted_18 = ["src"];
1326
+ const _hoisted_19 = { key: 1 };
1327
+ const _hoisted_20 = {
1276
1328
  key: 2,
1277
1329
  viewBox: "0 0 24 24",
1278
1330
  class: "atm-btn-icon",
1279
1331
  style: { "width": "80px", "height": "80px", "color": "white", "margin": "0 auto" }
1280
1332
  };
1281
- const _hoisted_22 = {
1333
+ const _hoisted_21 = {
1282
1334
  key: 0,
1283
1335
  class: "atm-profile-info-grid"
1284
1336
  };
1285
- const _hoisted_23 = { class: "atm-profile-info-row" };
1286
- const _hoisted_24 = {
1337
+ const _hoisted_22 = { class: "atm-profile-info-row" };
1338
+ const _hoisted_23 = {
1287
1339
  key: 0,
1288
1340
  class: "atm-profile-info-value"
1289
1341
  };
1290
- const _hoisted_25 = {
1342
+ const _hoisted_24 = {
1291
1343
  key: 1,
1292
1344
  class: "atm-profile-info-value"
1293
1345
  };
1294
- const _hoisted_26 = { class: "atm-profile-info-row" };
1295
- const _hoisted_27 = {
1346
+ const _hoisted_25 = { class: "atm-profile-info-row" };
1347
+ const _hoisted_26 = {
1296
1348
  key: 0,
1297
1349
  class: "atm-profile-info-value"
1298
1350
  };
1299
- const _hoisted_28 = {
1351
+ const _hoisted_27 = {
1300
1352
  key: 1,
1301
1353
  class: "atm-profile-info-value"
1302
1354
  };
1303
- const _hoisted_29 = { class: "atm-profile-info-row" };
1304
- const _hoisted_30 = { class: "atm-profile-info-value" };
1305
- const _hoisted_31 = {
1355
+ const _hoisted_28 = { class: "atm-profile-info-row" };
1356
+ const _hoisted_29 = { class: "atm-profile-info-value" };
1357
+ const _hoisted_30 = {
1306
1358
  key: 1,
1307
1359
  class: "atm-profile-edit-form"
1308
1360
  };
1361
+ const _hoisted_31 = { class: "atm-form-group" };
1309
1362
  const _hoisted_32 = { class: "atm-form-group" };
1310
- const _hoisted_33 = { class: "atm-form-group" };
1311
- const _hoisted_34 = {
1363
+ const _hoisted_33 = {
1312
1364
  key: 1,
1313
1365
  class: "atm-profile-body"
1314
1366
  };
1315
- const _hoisted_35 = { class: "atm-email-add-section" };
1316
- const _hoisted_36 = { class: "atm-form-group" };
1317
- const _hoisted_37 = { class: "atm-badge" };
1318
- const _hoisted_38 = { class: "atm-email-list" };
1319
- const _hoisted_39 = { class: "atm-email-info" };
1320
- const _hoisted_40 = { class: "atm-email-address" };
1321
- const _hoisted_41 = { class: "atm-email-badges" };
1322
- const _hoisted_42 = {
1367
+ const _hoisted_34 = { class: "atm-email-add-section" };
1368
+ const _hoisted_35 = { class: "atm-form-group" };
1369
+ const _hoisted_36 = { class: "atm-badge" };
1370
+ const _hoisted_37 = { class: "atm-email-list" };
1371
+ const _hoisted_38 = { class: "atm-email-info" };
1372
+ const _hoisted_39 = { class: "atm-email-address" };
1373
+ const _hoisted_40 = { class: "atm-email-badges" };
1374
+ const _hoisted_41 = {
1323
1375
  key: 0,
1324
1376
  class: "atm-badge atm-badge-primary"
1325
1377
  };
1326
- const _hoisted_43 = {
1378
+ const _hoisted_42 = {
1327
1379
  key: 1,
1328
1380
  class: "atm-badge atm-badge-verified"
1329
1381
  };
1330
- const _hoisted_44 = {
1382
+ const _hoisted_43 = {
1331
1383
  key: 2,
1332
1384
  class: "atm-badge atm-badge-unverified"
1333
1385
  };
1334
- const _hoisted_45 = { class: "atm-email-actions" };
1386
+ const _hoisted_44 = { class: "atm-email-actions" };
1387
+ const _hoisted_45 = ["onClick"];
1335
1388
  const _hoisted_46 = ["onClick"];
1336
- const _hoisted_47 = ["onClick"];
1337
- const _hoisted_48 = {
1389
+ const _hoisted_47 = {
1338
1390
  key: 2,
1339
1391
  class: "atm-profile-body"
1340
1392
  };
1341
- const _hoisted_49 = {
1393
+ const _hoisted_48 = {
1342
1394
  key: 3,
1343
1395
  class: "atm-profile-body"
1344
1396
  };
1345
- const _hoisted_50 = { class: "atm-sessions-section" };
1346
- const _hoisted_51 = { class: "atm-sessions-list" };
1347
- const _hoisted_52 = { class: "atm-session-info" };
1348
- const _hoisted_53 = { class: "atm-session-header" };
1349
- const _hoisted_54 = {
1397
+ const _hoisted_49 = { class: "atm-sessions-section" };
1398
+ const _hoisted_50 = { class: "atm-sessions-list" };
1399
+ const _hoisted_51 = { class: "atm-session-info" };
1400
+ const _hoisted_52 = { class: "atm-session-header" };
1401
+ const _hoisted_53 = {
1350
1402
  viewBox: "0 0 24 24",
1351
1403
  class: "atm-session-icon"
1352
1404
  };
1353
- const _hoisted_55 = ["d"];
1354
- const _hoisted_56 = { class: "atm-session-details" };
1355
- const _hoisted_57 = { class: "atm-session-title" };
1356
- const _hoisted_58 = {
1405
+ const _hoisted_54 = ["d"];
1406
+ const _hoisted_55 = { class: "atm-session-details" };
1407
+ const _hoisted_56 = { class: "atm-session-title" };
1408
+ const _hoisted_57 = {
1357
1409
  key: 0,
1358
1410
  class: "atm-badge atm-badge-current"
1359
1411
  };
1360
- const _hoisted_59 = {
1412
+ const _hoisted_58 = {
1361
1413
  key: 0,
1362
1414
  class: "atm-session-device-info"
1363
1415
  };
1364
- const _hoisted_60 = { key: 0 };
1365
- const _hoisted_61 = { key: 1 };
1366
- const _hoisted_62 = { key: 2 };
1367
- const _hoisted_63 = { class: "atm-session-timestamps" };
1416
+ const _hoisted_59 = { key: 0 };
1417
+ const _hoisted_60 = { key: 1 };
1418
+ const _hoisted_61 = { key: 2 };
1419
+ const _hoisted_62 = { class: "atm-session-timestamps" };
1420
+ const _hoisted_63 = { class: "atm-session-timestamp" };
1368
1421
  const _hoisted_64 = { class: "atm-session-timestamp" };
1369
- const _hoisted_65 = { class: "atm-session-timestamp" };
1370
- const _hoisted_66 = { class: "atm-session-actions" };
1371
- const _hoisted_67 = ["onClick"];
1422
+ const _hoisted_65 = { class: "atm-session-actions" };
1423
+ const _hoisted_66 = ["onClick"];
1372
1424
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1373
1425
  __name: "UserProfile",
1374
1426
  setup(__props) {
1375
1427
  useCssVars((_ctx) => ({
1376
- "v1982ae74": atmPrimaryColor.value,
1377
- "c7d31cfc": atmSecondaryColor.value
1428
+ "v4406ee78": atmPrimaryColor.value,
1429
+ "v2982f7d2": atmSecondaryColor.value
1378
1430
  }));
1379
1431
  const { user, logout } = useAuth();
1380
1432
  const { configurations } = useAtm();
@@ -1384,6 +1436,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1384
1436
  const isProfileModalOpen = ref(false);
1385
1437
  const isEditingProfile = ref(false);
1386
1438
  const buttonRef = ref(null);
1439
+ const dropdownPosition = ref("left");
1387
1440
  const emailAddresses = ref([]);
1388
1441
  const newEmail = ref("");
1389
1442
  const activeTab = ref("geral");
@@ -1414,7 +1467,34 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1414
1467
  if (!user.value || !user.value.firstName) return "";
1415
1468
  return (user.value.firstName.charAt(0) + (user.value.lastName?.charAt(0) || "")).toUpperCase();
1416
1469
  });
1417
- const toggleMenu = () => isDropdownOpen.value = !isDropdownOpen.value;
1470
+ const calculateDropdownPosition = () => {
1471
+ if (!buttonRef.value) return;
1472
+ const buttonRect = buttonRef.value.getBoundingClientRect();
1473
+ const viewportWidth = window.innerWidth;
1474
+ let dropdownWidth = 280;
1475
+ if (viewportWidth <= 360) {
1476
+ dropdownWidth = Math.min(220, viewportWidth - 16);
1477
+ } else if (viewportWidth <= 480) {
1478
+ dropdownWidth = Math.min(240, viewportWidth - 20);
1479
+ } else if (viewportWidth <= 768) {
1480
+ dropdownWidth = 260;
1481
+ }
1482
+ const spaceOnRight = viewportWidth - buttonRect.right;
1483
+ const spaceOnLeft = buttonRect.left;
1484
+ if (spaceOnRight >= dropdownWidth) {
1485
+ dropdownPosition.value = "left";
1486
+ } else if (spaceOnLeft >= dropdownWidth) {
1487
+ dropdownPosition.value = "right";
1488
+ } else {
1489
+ dropdownPosition.value = spaceOnRight >= spaceOnLeft ? "left" : "right";
1490
+ }
1491
+ };
1492
+ const toggleMenu = () => {
1493
+ isDropdownOpen.value = !isDropdownOpen.value;
1494
+ if (isDropdownOpen.value) {
1495
+ setTimeout(() => calculateDropdownPosition(), 0);
1496
+ }
1497
+ };
1418
1498
  const closeMenu = (event) => {
1419
1499
  if (buttonRef.value && !buttonRef.value.contains(event.target)) {
1420
1500
  isDropdownOpen.value = false;
@@ -1660,8 +1740,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1660
1740
  const hasFullName = computed(() => {
1661
1741
  return !!(user.value?.firstName && user.value?.lastName);
1662
1742
  });
1663
- onMounted(() => document.addEventListener("click", closeMenu));
1664
- onUnmounted(() => document.removeEventListener("click", closeMenu));
1743
+ onMounted(() => {
1744
+ document.addEventListener("click", closeMenu);
1745
+ window.addEventListener("resize", calculateDropdownPosition);
1746
+ });
1747
+ onUnmounted(() => {
1748
+ document.removeEventListener("click", closeMenu);
1749
+ window.removeEventListener("resize", calculateDropdownPosition);
1750
+ });
1665
1751
  return (_ctx, _cache) => {
1666
1752
  return openBlock(), createElementBlock(Fragment, null, [
1667
1753
  createVNode(Notification, {
@@ -1705,8 +1791,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1705
1791
  ], 512),
1706
1792
  createVNode(Transition, { name: "atm-fade" }, {
1707
1793
  default: withCtx(() => [
1708
- isDropdownOpen.value ? (openBlock(), createElementBlock("div", _hoisted_6, [
1709
- createElementVNode("div", _hoisted_7, [
1794
+ isDropdownOpen.value ? (openBlock(), createElementBlock("div", {
1795
+ key: 0,
1796
+ class: normalizeClass(["atm-profile-menu", `atm-position-${dropdownPosition.value}`])
1797
+ }, [
1798
+ createElementVNode("div", _hoisted_6, [
1710
1799
  createElementVNode("div", {
1711
1800
  class: "atm-profile-avatar large",
1712
1801
  style: normalizeStyle(unref(user)?.profileImage ? {} : { backgroundColor: atmPrimaryColor.value })
@@ -1716,16 +1805,16 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1716
1805
  src: unref(user).profileImage,
1717
1806
  alt: "Profile",
1718
1807
  class: "atm-profile-avatar-img"
1719
- }, null, 8, _hoisted_8)) : hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_9, toDisplayString(userInitials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_10, [..._cache[9] || (_cache[9] = [
1808
+ }, null, 8, _hoisted_7)) : hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(userInitials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_9, [..._cache[9] || (_cache[9] = [
1720
1809
  createElementVNode("path", {
1721
1810
  fill: "currentColor",
1722
1811
  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"
1723
1812
  }, null, -1)
1724
1813
  ])]))
1725
1814
  ], 4),
1726
- createElementVNode("div", _hoisted_11, [
1727
- hasFullName.value ? (openBlock(), createElementBlock("p", _hoisted_12, toDisplayString(unref(user).firstName) + " " + toDisplayString(unref(user).lastName), 1)) : (openBlock(), createElementBlock("p", _hoisted_13, "Usuário")),
1728
- createElementVNode("p", _hoisted_14, toDisplayString(unref(user).primaryEmailAddress), 1)
1815
+ createElementVNode("div", _hoisted_10, [
1816
+ hasFullName.value ? (openBlock(), createElementBlock("p", _hoisted_11, toDisplayString(unref(user).firstName) + " " + toDisplayString(unref(user).lastName), 1)) : (openBlock(), createElementBlock("p", _hoisted_12, "Usuário")),
1817
+ createElementVNode("p", _hoisted_13, toDisplayString(unref(user).primaryEmailAddress), 1)
1729
1818
  ])
1730
1819
  ]),
1731
1820
  createElementVNode("div", { class: "atm-profile-options" }, [
@@ -1762,16 +1851,16 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1762
1851
  createTextVNode(" Sair ", -1)
1763
1852
  ])])
1764
1853
  ])
1765
- ])) : createCommentVNode("", true)
1854
+ ], 2)) : createCommentVNode("", true)
1766
1855
  ]),
1767
1856
  _: 1
1768
1857
  }),
1769
- isProfileModalOpen.value ? (openBlock(), createElementBlock("div", _hoisted_15, [
1858
+ isProfileModalOpen.value ? (openBlock(), createElementBlock("div", _hoisted_14, [
1770
1859
  createElementVNode("div", {
1771
1860
  class: "atm-profile-overlay",
1772
1861
  onClick: closeProfileModal
1773
1862
  }),
1774
- createElementVNode("div", _hoisted_16, [
1863
+ createElementVNode("div", _hoisted_15, [
1775
1864
  createElementVNode("div", { class: "atm-profile-header" }, [
1776
1865
  createElementVNode("button", {
1777
1866
  onClick: closeProfileModal,
@@ -1783,7 +1872,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1783
1872
  class: "atm-profile-title"
1784
1873
  }, "Meu Perfil", -1))
1785
1874
  ]),
1786
- createElementVNode("div", _hoisted_17, [
1875
+ createElementVNode("div", _hoisted_16, [
1787
1876
  createElementVNode("button", {
1788
1877
  onClick: _cache[0] || (_cache[0] = ($event) => activeTab.value = "geral"),
1789
1878
  class: normalizeClass(["atm-tab", { "atm-tab-active": activeTab.value === "geral" }])
@@ -1845,7 +1934,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1845
1934
  createTextVNode(" Sessões ", -1)
1846
1935
  ])], 2)
1847
1936
  ]),
1848
- activeTab.value === "geral" ? (openBlock(), createElementBlock("div", _hoisted_18, [
1937
+ activeTab.value === "geral" ? (openBlock(), createElementBlock("div", _hoisted_17, [
1849
1938
  createElementVNode("div", {
1850
1939
  class: "atm-profile-avatar-large",
1851
1940
  style: normalizeStyle(unref(user)?.profileImage ? {} : { backgroundColor: atmPrimaryColor.value })
@@ -1855,25 +1944,25 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1855
1944
  src: unref(user).profileImage,
1856
1945
  alt: "Profile",
1857
1946
  class: "atm-profile-avatar-img"
1858
- }, null, 8, _hoisted_19)) : hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString(userInitials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_21, [..._cache[17] || (_cache[17] = [
1947
+ }, null, 8, _hoisted_18)) : hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_19, toDisplayString(userInitials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_20, [..._cache[17] || (_cache[17] = [
1859
1948
  createElementVNode("path", {
1860
1949
  fill: "currentColor",
1861
1950
  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"
1862
1951
  }, null, -1)
1863
1952
  ])]))
1864
1953
  ], 4),
1865
- !isEditingProfile.value ? (openBlock(), createElementBlock("div", _hoisted_22, [
1866
- createElementVNode("div", _hoisted_23, [
1954
+ !isEditingProfile.value ? (openBlock(), createElementBlock("div", _hoisted_21, [
1955
+ createElementVNode("div", _hoisted_22, [
1867
1956
  _cache[18] || (_cache[18] = createElementVNode("span", { class: "atm-profile-info-label" }, "Nome", -1)),
1868
- hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_24, toDisplayString(profileForm.value.firstName), 1)) : (openBlock(), createElementBlock("span", _hoisted_25, "Não informado"))
1957
+ hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_23, toDisplayString(profileForm.value.firstName), 1)) : (openBlock(), createElementBlock("span", _hoisted_24, "Não informado"))
1869
1958
  ]),
1870
- createElementVNode("div", _hoisted_26, [
1959
+ createElementVNode("div", _hoisted_25, [
1871
1960
  _cache[19] || (_cache[19] = createElementVNode("span", { class: "atm-profile-info-label" }, "Sobrenome", -1)),
1872
- hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_27, toDisplayString(profileForm.value.lastName), 1)) : (openBlock(), createElementBlock("span", _hoisted_28, "Não informado"))
1961
+ hasFullName.value ? (openBlock(), createElementBlock("span", _hoisted_26, toDisplayString(profileForm.value.lastName), 1)) : (openBlock(), createElementBlock("span", _hoisted_27, "Não informado"))
1873
1962
  ]),
1874
- createElementVNode("div", _hoisted_29, [
1963
+ createElementVNode("div", _hoisted_28, [
1875
1964
  _cache[20] || (_cache[20] = createElementVNode("span", { class: "atm-profile-info-label" }, "Email Principal", -1)),
1876
- createElementVNode("span", _hoisted_30, toDisplayString(profileForm.value.primaryEmailAddress), 1)
1965
+ createElementVNode("span", _hoisted_29, toDisplayString(profileForm.value.primaryEmailAddress), 1)
1877
1966
  ]),
1878
1967
  createElementVNode("div", { class: "atm-profile-info-row" }, [
1879
1968
  createElementVNode("button", {
@@ -1893,8 +1982,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1893
1982
  createTextVNode(" Editar Perfil ", -1)
1894
1983
  ])])
1895
1984
  ])
1896
- ])) : (openBlock(), createElementBlock("div", _hoisted_31, [
1897
- createElementVNode("div", _hoisted_32, [
1985
+ ])) : (openBlock(), createElementBlock("div", _hoisted_30, [
1986
+ createElementVNode("div", _hoisted_31, [
1898
1987
  _cache[22] || (_cache[22] = createElementVNode("label", { class: "atm-input-label" }, "Nome", -1)),
1899
1988
  withDirectives(createElementVNode("input", {
1900
1989
  type: "text",
@@ -1905,7 +1994,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1905
1994
  [vModelText, profileForm.value.firstName]
1906
1995
  ])
1907
1996
  ]),
1908
- createElementVNode("div", _hoisted_33, [
1997
+ createElementVNode("div", _hoisted_32, [
1909
1998
  _cache[23] || (_cache[23] = createElementVNode("label", { class: "atm-input-label" }, "Sobrenome", -1)),
1910
1999
  withDirectives(createElementVNode("input", {
1911
2000
  type: "text",
@@ -1952,11 +2041,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1952
2041
  ])
1953
2042
  ]))
1954
2043
  ])) : createCommentVNode("", true),
1955
- activeTab.value === "emails" ? (openBlock(), createElementBlock("div", _hoisted_34, [
1956
- createElementVNode("div", _hoisted_35, [
1957
- createElementVNode("div", _hoisted_36, [
2044
+ activeTab.value === "emails" ? (openBlock(), createElementBlock("div", _hoisted_33, [
2045
+ createElementVNode("div", _hoisted_34, [
2046
+ createElementVNode("div", _hoisted_35, [
1958
2047
  _cache[27] || (_cache[27] = createElementVNode("label", { class: "atm-input-label" }, "Adicionar novo email", -1)),
1959
- createElementVNode("div", _hoisted_37, [
2048
+ createElementVNode("div", _hoisted_36, [
1960
2049
  withDirectives(createElementVNode("input", {
1961
2050
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => newEmail.value = $event),
1962
2051
  type: "email",
@@ -1983,14 +2072,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1983
2072
  ])
1984
2073
  ])
1985
2074
  ]),
1986
- createElementVNode("div", _hoisted_38, [
2075
+ createElementVNode("div", _hoisted_37, [
1987
2076
  (openBlock(true), createElementBlock(Fragment, null, renderList(emailAddresses.value, (email) => {
1988
2077
  return openBlock(), createElementBlock("div", {
1989
2078
  key: email.id,
1990
2079
  class: "atm-email-item"
1991
2080
  }, [
1992
- createElementVNode("div", _hoisted_39, [
1993
- createElementVNode("div", _hoisted_40, [
2081
+ createElementVNode("div", _hoisted_38, [
2082
+ createElementVNode("div", _hoisted_39, [
1994
2083
  _cache[28] || (_cache[28] = createElementVNode("svg", {
1995
2084
  viewBox: "0 0 24 24",
1996
2085
  class: "atm-email-icon"
@@ -2002,9 +2091,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2002
2091
  ], -1)),
2003
2092
  createElementVNode("span", null, toDisplayString(email.email_address), 1)
2004
2093
  ]),
2005
- createElementVNode("div", _hoisted_41, [
2006
- email.primary ? (openBlock(), createElementBlock("span", _hoisted_42, "Principal")) : createCommentVNode("", true),
2007
- email.verified ? (openBlock(), createElementBlock("span", _hoisted_43, [..._cache[29] || (_cache[29] = [
2094
+ createElementVNode("div", _hoisted_40, [
2095
+ email.primary ? (openBlock(), createElementBlock("span", _hoisted_41, "Principal")) : createCommentVNode("", true),
2096
+ email.verified ? (openBlock(), createElementBlock("span", _hoisted_42, [..._cache[29] || (_cache[29] = [
2008
2097
  createElementVNode("svg", {
2009
2098
  viewBox: "0 0 24 24",
2010
2099
  class: "atm-badge-icon"
@@ -2015,7 +2104,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2015
2104
  })
2016
2105
  ], -1),
2017
2106
  createTextVNode(" Verificado ", -1)
2018
- ])])) : (openBlock(), createElementBlock("span", _hoisted_44, [..._cache[30] || (_cache[30] = [
2107
+ ])])) : (openBlock(), createElementBlock("span", _hoisted_43, [..._cache[30] || (_cache[30] = [
2019
2108
  createElementVNode("svg", {
2020
2109
  viewBox: "0 0 24 24",
2021
2110
  class: "atm-badge-icon"
@@ -2029,7 +2118,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2029
2118
  ])]))
2030
2119
  ])
2031
2120
  ]),
2032
- createElementVNode("div", _hoisted_45, [
2121
+ createElementVNode("div", _hoisted_44, [
2033
2122
  !email.verified ? (openBlock(), createElementBlock("button", {
2034
2123
  key: 0,
2035
2124
  onClick: ($event) => requestEmailVerification(email.id),
@@ -2046,7 +2135,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2046
2135
  })
2047
2136
  ], -1),
2048
2137
  createTextVNode(" Verificar ", -1)
2049
- ])], 8, _hoisted_46)) : createCommentVNode("", true),
2138
+ ])], 8, _hoisted_45)) : createCommentVNode("", true),
2050
2139
  !email.primary ? (openBlock(), createElementBlock("button", {
2051
2140
  key: 1,
2052
2141
  onClick: ($event) => deleteEmailAddress(email.id),
@@ -2063,13 +2152,13 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2063
2152
  })
2064
2153
  ], -1),
2065
2154
  createTextVNode(" Remover ", -1)
2066
- ])], 8, _hoisted_47)) : createCommentVNode("", true)
2155
+ ])], 8, _hoisted_46)) : createCommentVNode("", true)
2067
2156
  ])
2068
2157
  ]);
2069
2158
  }), 128))
2070
2159
  ])
2071
2160
  ])) : createCommentVNode("", true),
2072
- activeTab.value === "senha" ? (openBlock(), createElementBlock("div", _hoisted_48, [
2161
+ activeTab.value === "senha" ? (openBlock(), createElementBlock("div", _hoisted_47, [
2073
2162
  createElementVNode("div", { class: "atm-password-section" }, [
2074
2163
  _cache[34] || (_cache[34] = createElementVNode("div", { class: "atm-profile-info-row" }, [
2075
2164
  createElementVNode("span", { class: "atm-profile-info-label" }, "Redefinir Senha"),
@@ -2095,41 +2184,41 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2095
2184
  ])
2096
2185
  ])
2097
2186
  ])) : createCommentVNode("", true),
2098
- activeTab.value === "sessoes" ? (openBlock(), createElementBlock("div", _hoisted_49, [
2099
- createElementVNode("div", _hoisted_50, [
2187
+ activeTab.value === "sessoes" ? (openBlock(), createElementBlock("div", _hoisted_48, [
2188
+ createElementVNode("div", _hoisted_49, [
2100
2189
  _cache[38] || (_cache[38] = createElementVNode("div", { class: "atm-sessions-info" }, [
2101
2190
  createElementVNode("p", { class: "atm-sessions-description" }, " Gerencie os dispositivos conectados à sua conta. Você pode encerrar sessões em dispositivos que não reconhece. ")
2102
2191
  ], -1)),
2103
- createElementVNode("div", _hoisted_51, [
2192
+ createElementVNode("div", _hoisted_50, [
2104
2193
  (openBlock(true), createElementBlock(Fragment, null, renderList(sessions.value, (session) => {
2105
2194
  return openBlock(), createElementBlock("div", {
2106
2195
  key: session.id,
2107
2196
  class: "atm-session-item"
2108
2197
  }, [
2109
- createElementVNode("div", _hoisted_52, [
2110
- createElementVNode("div", _hoisted_53, [
2111
- (openBlock(), createElementBlock("svg", _hoisted_54, [
2198
+ createElementVNode("div", _hoisted_51, [
2199
+ createElementVNode("div", _hoisted_52, [
2200
+ (openBlock(), createElementBlock("svg", _hoisted_53, [
2112
2201
  createElementVNode("path", {
2113
2202
  fill: "currentColor",
2114
2203
  d: getDeviceIcon(session.device)
2115
- }, null, 8, _hoisted_55)
2204
+ }, null, 8, _hoisted_54)
2116
2205
  ])),
2117
- createElementVNode("div", _hoisted_56, [
2118
- createElementVNode("div", _hoisted_57, [
2206
+ createElementVNode("div", _hoisted_55, [
2207
+ createElementVNode("div", _hoisted_56, [
2119
2208
  createElementVNode("span", null, toDisplayString(session.ip_address), 1),
2120
- session.current === 1 ? (openBlock(), createElementBlock("span", _hoisted_58, "Atual")) : createCommentVNode("", true)
2209
+ session.current === 1 ? (openBlock(), createElementBlock("span", _hoisted_57, "Atual")) : createCommentVNode("", true)
2121
2210
  ]),
2122
- session.device.browser || session.device.platform ? (openBlock(), createElementBlock("div", _hoisted_59, [
2123
- session.device.browser ? (openBlock(), createElementBlock("span", _hoisted_60, toDisplayString(session.device.browser) + toDisplayString(session.device.browser_version ? ` ${session.device.browser_version}` : ""), 1)) : createCommentVNode("", true),
2124
- session.device.browser && session.device.platform ? (openBlock(), createElementBlock("span", _hoisted_61, " • ")) : createCommentVNode("", true),
2125
- session.device.platform ? (openBlock(), createElementBlock("span", _hoisted_62, toDisplayString(session.device.platform), 1)) : createCommentVNode("", true)
2211
+ session.device.browser || session.device.platform ? (openBlock(), createElementBlock("div", _hoisted_58, [
2212
+ session.device.browser ? (openBlock(), createElementBlock("span", _hoisted_59, toDisplayString(session.device.browser) + toDisplayString(session.device.browser_version ? ` ${session.device.browser_version}` : ""), 1)) : createCommentVNode("", true),
2213
+ session.device.browser && session.device.platform ? (openBlock(), createElementBlock("span", _hoisted_60, " • ")) : createCommentVNode("", true),
2214
+ session.device.platform ? (openBlock(), createElementBlock("span", _hoisted_61, toDisplayString(session.device.platform), 1)) : createCommentVNode("", true)
2126
2215
  ])) : createCommentVNode("", true),
2127
- createElementVNode("div", _hoisted_63, [
2128
- createElementVNode("div", _hoisted_64, [
2216
+ createElementVNode("div", _hoisted_62, [
2217
+ createElementVNode("div", _hoisted_63, [
2129
2218
  _cache[35] || (_cache[35] = createElementVNode("span", { class: "atm-timestamp-label" }, "Iniciada:", -1)),
2130
2219
  createElementVNode("span", null, toDisplayString(formatDate(session.started_at)), 1)
2131
2220
  ]),
2132
- createElementVNode("div", _hoisted_65, [
2221
+ createElementVNode("div", _hoisted_64, [
2133
2222
  _cache[36] || (_cache[36] = createElementVNode("span", { class: "atm-timestamp-label" }, "Última atividade:", -1)),
2134
2223
  createElementVNode("span", null, toDisplayString(formatDate(session.last_activity_at)), 1)
2135
2224
  ])
@@ -2137,7 +2226,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2137
2226
  ])
2138
2227
  ])
2139
2228
  ]),
2140
- createElementVNode("div", _hoisted_66, [
2229
+ createElementVNode("div", _hoisted_65, [
2141
2230
  session.current !== 1 ? (openBlock(), createElementBlock("button", {
2142
2231
  key: 0,
2143
2232
  onClick: ($event) => closeSessionById(session.id),
@@ -2154,7 +2243,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2154
2243
  })
2155
2244
  ], -1),
2156
2245
  createTextVNode(" Encerrar ", -1)
2157
- ])], 8, _hoisted_67)) : createCommentVNode("", true)
2246
+ ])], 8, _hoisted_66)) : createCommentVNode("", true)
2158
2247
  ])
2159
2248
  ]);
2160
2249
  }), 128))