.auth-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;border:none;background:transparent;margin:0;max-width:none;max-height:none;width:auto;height:auto}.auth-modal::backdrop{background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal[hidden]{display:none}.auth-modal__backdrop{position:absolute;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal__content{position:relative;background-color:var(--color-background, #ffffff);border-radius:var(--border-radius-lg, 16px);padding:2.5rem 2rem;max-width:480px;width:100%;overflow:visible;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 20px 60px #0000004d;animation:authModalSlideIn .3s ease-out;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.auth-modal__content::-webkit-scrollbar{width:6px}.auth-modal__content::-webkit-scrollbar-track{background:transparent}.auth-modal__content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.auth-modal__content::-webkit-scrollbar-thumb:hover{background-color:#0000004d}@keyframes authModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal__close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;line-height:1;color:var(--color-text-secondary, #6b7280);cursor:pointer;padding:.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm, 4px);transition:all .2s ease;z-index:100;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.auth-modal__close:hover{background-color:var(--color-light-bg, #f3f4f6);color:var(--color-text-dark, #111827)}.auth-modal__carousel{position:relative;width:100%;overflow:hidden;z-index:1}.auth-modal__carousel--height-transition{min-height:var(--carousel-min-height, auto)}.auth-modal__form{display:flex;flex-direction:column;width:96%;margin:0 auto;gap:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;transform:translate(0);opacity:1;position:relative;box-sizing:border-box;min-height:0}.auth-modal__header{display:flex;flex-direction:column;gap:.5rem}.auth-modal__form--hidden{position:absolute!important;top:0!important;left:0!important;width:100%!important;transform:translate(100%)!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important;z-index:0!important}.auth-modal__carousel--transitioning .auth-modal__form{transition:none!important}.auth-modal__footer{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border-light, #e5e7eb)}.auth-modal__footer-text{font-size:var(--text-sm);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary, #6b7280);font-family:var(--font-body);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem}.auth-modal__link{background:none;border:none;color:var(--color-brand, #000000);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);cursor:pointer;text-decoration:none;font-family:var(--font-body);padding:.25rem .5rem;border-radius:var(--border-radius-sm, 4px);transition:all .2s ease;position:relative}.auth-modal__link:after{content:"";position:absolute;bottom:.125rem;left:.5rem;right:.5rem;height:2px;background-color:var(--color-brand, #000000);transform:scaleX(0);transition:transform .2s ease}.auth-modal__link:hover{color:var(--color-brand, #000000);background-color:var(--color-light-bg, #f3f4f6)}.auth-modal__link:hover:after{transform:scaleX(1)}.auth-modal__link:active{transform:scale(.98)}.auth-modal__title{font-family:Playfair Display,serif;font-size:1.875rem;font-weight:700;color:var(--color-text-dark, #111827);line-height:1.2}.auth-modal__subtitle{font-size:var(--text-base);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary, #6b7280);line-height:var(--line-height-relaxed)}.auth-modal__label{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-dark, #111827);font-family:var(--font-body);transition:color .2s ease}.auth-modal__input{width:100%;padding:.875rem 1rem;border:1.5px solid var(--color-border-light, #e5e7eb);border-radius:var(--border-radius-md, 8px);font-size:var(--text-base);font-family:var(--font-body);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-dark, #111827);background-color:var(--color-background, #ffffff);transition:all .2s ease;box-sizing:border-box;min-width:0}.auth-modal__input:hover:not(:focus):not(:disabled){border-color:var(--color-border, #d1d5db)}.auth-modal__input:focus{outline:none;border-color:var(--color-brand, #000000);box-shadow:0 0 0 3px #00000014;background-color:#fff}.auth-modal__input:disabled{background-color:var(--color-bg-soft, #f9fafb);cursor:not-allowed;opacity:.6}.auth-modal__input::placeholder{color:var(--color-text-secondary, #9ca3af)}.auth-modal__password-wrapper{position:relative;display:flex;align-items:center}.auth-modal__password-wrapper .auth-modal__input{padding-right:3rem}.auth-modal__password-toggle{position:absolute;right:.75rem;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm, 4px);transition:all .2s ease;z-index:1}.auth-modal__password-toggle:hover{color:var(--color-text-dark, #111827);background-color:var(--color-light-bg, #f3f4f6)}.auth-modal__password-toggle:focus{outline:2px solid var(--color-brand, #000000);outline-offset:2px}.auth-modal__password-icon{width:20px;height:20px;display:block}.auth-modal__error{padding:.875rem 1rem;background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:var(--border-radius-md, 8px);font-size:var(--text-sm);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-modal__error[hidden]{display:none}.auth-modal__step{display:flex;flex-direction:column;gap:1.25rem;min-height:0;width:100%;box-sizing:border-box}.auth-modal__step[hidden]{display:none!important}.auth-modal__field{display:flex;flex-direction:column;gap:1rem;width:100%;box-sizing:border-box;min-width:0}.auth-modal__field-container{display:flex;flex-direction:column;gap:.5rem;width:100%;box-sizing:border-box;min-width:0}.auth-modal__field-error{color:#dc2626;font-size:var(--text-sm);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal);display:flex;align-items:center;gap:.375rem;animation:fadeIn .2s ease-out}.auth-modal__field-error:before{content:"⚠";font-size:.875rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal__field-error[hidden]{display:none}.auth-modal__field-hint{font-size:var(--text-sm);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary, #9ca3af);line-height:var(--line-height-normal)}p{margin:0}.auth-modal__input--error{border-color:#dc2626!important;background-color:#fff5f5}.auth-modal__input--error:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261a}.auth-modal__input--error:hover:not(:focus){border-color:#ef4444!important}.auth-modal__verification-message{font-size:.9375rem;color:var(--color-text-secondary, #6b7280);line-height:1.5;text-align:center}.auth-modal__verification-message strong{color:var(--color-text-dark, #111827);font-weight:600}.auth-modal__code-inputs{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;padding:0 .5rem}.auth-modal__step[data-step=verification]{gap:1.5rem}.auth-modal__code-input{flex:1;min-width:2.5rem;max-width:3.5rem;height:3.5rem;text-align:center;font-size:1.5rem;font-weight:600;border:2px solid var(--color-border-light, #e5e7eb);border-radius:var(--border-radius-md, 8px);background-color:var(--color-background, #ffffff);color:var(--color-text-dark, #111827);font-family:Lato,sans-serif;transition:all .2s ease;box-sizing:border-box}.auth-modal__code-input:hover:not(:focus):not(:disabled){border-color:var(--color-border, #d1d5db)}.auth-modal__code-input:focus{outline:none;border-color:var(--color-brand, #000000);box-shadow:0 0 0 3px #00000014;background-color:#fff;transform:scale(1.05)}.auth-modal__code-input:disabled{background-color:var(--color-bg-soft, #f9fafb);cursor:not-allowed;opacity:.6}.auth-modal__code-input:disabled{background-color:var(--color-surface, #f3f4f6);cursor:not-allowed}.auth-modal__resend{text-align:center}.auth-modal__resend-btn{background:none;border:none;color:var(--color-brand, #000000);font-size:.875rem;cursor:pointer;text-decoration:underline;font-family:Lato,sans-serif;transition:opacity .2s ease}.auth-modal__resend-btn:hover:not(:disabled){opacity:.7}.auth-modal__resend-btn:disabled{color:var(--color-text-secondary, #9ca3af);cursor:not-allowed;text-decoration:none}.btn-block{width:100%;justify-content:center}.auth-modal__actions .btn--primary.loading{position:relative;color:transparent;pointer-events:none;opacity:.8}.auth-modal__actions .btn--primary.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.auth-modal__actions .btn--primary{font-weight:600;font-size:1rem;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.auth-modal__actions .btn--primary:hover:not(:disabled):not(.loading){transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.auth-modal__actions .btn--primary:active:not(:disabled):not(.loading){transform:translateY(0);box-shadow:0 2px 4px #0000001a}@media(max-width:640px){.auth-modal{padding:10px}.auth-modal__content{padding:1.5rem;max-width:100%;border-radius:var(--border-radius-md, 8px)}.auth-modal__title{font-size:1.5rem}.auth-modal__subtitle{font-size:.875rem}.auth-modal__form{gap:1.5rem}.auth-modal__input{padding:1rem;font-size:16px}.auth-modal__password-toggle{right:.5rem;padding:.625rem}.auth-modal__field{gap:.875rem}.auth-modal__field-container{gap:.375rem}.auth-modal__actions .btn--primary{padding:1rem 1.5rem;min-height:52px;font-size:1rem}.auth-modal__code-input{min-width:2.25rem;max-width:3rem;height:3rem;font-size:1.25rem}.auth-modal__code-inputs{gap:.4rem;padding:0 .25rem}.auth-modal__close{top:.75rem;right:.75rem;width:2.75rem;height:2.75rem;min-width:44px;min-height:44px;z-index:100}}@media(max-width:480px){.auth-modal{padding:.75rem;align-items:center;justify-content:center}.auth-modal__backdrop{background-color:#0009}.auth-modal__content{padding:1.5rem 1.25rem 2.5rem;border-radius:16px;max-height:calc(100vh - 1.5rem);max-width:calc(100vw - 1.5rem);width:100%;animation:authModalSlideIn .3s ease-out;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.auth-modal__form{gap:1.25rem;padding-bottom:.5rem}.auth-modal__close{top:.5rem;right:.5rem;width:2.75rem;height:2.75rem;min-width:44px;min-height:44px;font-size:1.75rem;z-index:100;padding:.75rem}.auth-modal__title{font-size:1.375rem}.auth-modal__subtitle{font-size:.8125rem}.auth-modal__input{padding:1rem;font-size:16px}.auth-modal__code-input{min-width:2rem;max-width:2.5rem;height:2.5rem;font-size:1.125rem}.auth-modal__code-inputs{gap:.35rem;padding:0 .15rem}.auth-modal__actions .btn--primary{min-height:52px;width:100%;margin-top:.5rem}.auth-modal__field:last-child{margin-bottom:0}@supports (padding: max(0px)){.auth-modal__content{padding-bottom:max(2rem,env(safe-area-inset-bottom))}}}.clerk-component,[class*=clerk],[id*=clerk]{display:none!important}.clerk-modal,.clerk-overlay,.clerk-card{display:none!important;visibility:hidden!important}.auth-modal--visible{display:flex!important;visibility:visible!important;opacity:1!important}.body-modal-open{overflow:hidden!important}.auth-modal__form--entering{position:absolute!important;top:0!important;left:0!important;width:100%!important;visibility:hidden!important;pointer-events:none!important;display:none!important;flex-direction:column!important;z-index:2!important;opacity:0!important}.auth-modal__form--hidden.auth-modal__form--entering{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.auth-modal__form--hidden.auth-modal__form--entering-active{display:flex!important;visibility:visible!important;opacity:1!important;transform:translate(0)!important}.auth-modal__form--entering-forward,.auth-modal__form--entering-backward{display:none!important;visibility:hidden!important}.auth-modal__form--entering-active{transform:translate(0)!important;opacity:1!important;display:flex!important;visibility:visible!important}.auth-modal__form--exiting{position:relative!important;z-index:1!important}.auth-modal__form--exiting-forward,.auth-modal__form--exiting-backward{opacity:0!important;visibility:hidden!important}.auth-modal__form--current{position:relative!important;transform:translate(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:1!important;display:flex!important}.auth-modal__form--current.auth-modal__form--hidden,.auth-modal__form--hidden.auth-modal__form--current{display:none!important;visibility:hidden!important}.auth-modal__form--hidden:not(.auth-modal__form--entering):not(.auth-modal__form--entering-active){display:none!important}.auth-modal__error--success{color:#28a745!important;font-weight:500!important;display:block!important;background-color:#d4edda!important;border-color:#c3e6cb!important}.auth-modal__carousel--height-transition{transition:min-height .3s cubic-bezier(.4,0,.2,1)}
