body,html{margin:0;padding:0}@supports (height:100dvh){body,html{height:100dvh}}@supports not (height:100dvh){body,html{height:100vh;height:-webkit-fill-available}}html{scroll-behavior:smooth}.h-dvh{height:100vh;height:100dvh;height:-webkit-fill-available}@supports (height:100dvh){.h-dvh{height:100dvh}}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary,#2ac1bc);outline-offset:2px}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.transition-all{transition:all .2s ease-in-out}@media print{body{color:#000;background:#fff}.no-print{display:none!important}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:color .3s ease,background-color .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6b7280}.dark ::-webkit-scrollbar-track,body.dark ::-webkit-scrollbar-track{background:#1f2937}.dark ::-webkit-scrollbar-thumb,body.dark ::-webkit-scrollbar-thumb{background:#4b5563}.dark ::-webkit-scrollbar-thumb:hover,body.dark ::-webkit-scrollbar-thumb:hover{background:#6b7280}@media (prefers-color-scheme:dark){body:not(.light) ::-webkit-scrollbar-track{background:#1f2937}body:not(.light) ::-webkit-scrollbar-thumb{background:#4b5563}body:not(.light) ::-webkit-scrollbar-thumb:hover{background:#6b7280}}:root{--color-primary:#10b981;--color-primary-light:#34d399;--color-primary-dark:#059669;--color-primary-pale:#e8f9f8;--color-secondary:#00b14f;--color-secondary-light:#33c470;--color-secondary-dark:#008a3d;--color-accent:#10b981;--color-accent-light:#34d399;--color-primary-rgb:16,185,129;--color-secondary-rgb:0,177,79;--color-accent-rgb:16,185,129;--vietnam-mint:var(--color-primary);--vietnam-mint-light:var(--color-primary-light);--vietnam-mint-dark:var(--color-primary-dark);--vietnam-green:var(--color-secondary);--vietnam-green-light:var(--color-secondary-light);--vietnam-green-dark:var(--color-secondary-dark);--vietnam-error:#da020e;--vietnam-warning:#fd0;--color-success:#22c55e;--color-error:#ef4444;--color-warning:#f59e0b;--color-info:#3b82f6;--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-overlay:rgba(0,0,0,.5);--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-tertiary:#6b7280;--color-text-disabled:#9ca3af;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-border-focus:var(--color-primary);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--transition-fast:150ms;--transition-normal:200ms;--transition-slow:300ms}.dark{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-surface:#1e293b;--color-surface-raised:#334155;--color-surface-overlay:rgba(0,0,0,.7);--color-text-primary:#f9fafb;--color-text-secondary:#e5e7eb;--color-text-tertiary:#9ca3af;--color-text-disabled:#6b7280;--color-border:#374151;--color-border-light:#475569;--shadow-sm:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -2px rgba(0,0,0,.2);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.3),0 10px 10px -5px rgba(0,0,0,.2)}.theme-primary{color:var(--color-primary)}.theme-primary-bg{background-color:var(--color-primary)}.theme-primary-border{border-color:var(--color-primary)}.theme-gradient,.theme-gradient-text{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%)}.theme-gradient-text{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.theme-shadow{box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.15)}.theme-shadow-lg{box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.2)}.theme-glow{box-shadow:0 0 20px rgba(var(--color-primary-rgb),.5)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100%) scale(.95)}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}.animate-fadeOut{animation:fadeOut .3s cubic-bezier(.4,0,1,1) forwards}.animate-fade-out{animation:fadeIn .2s ease-out reverse forwards}@keyframes slideIn{0%{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}.animate-slideIn{animation:slideIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownModal{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slideUp{animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slideDown{animation:slideDown .2s cubic-bezier(.4,0,1,1) forwards}.animate-slide-up{animation:slideUpModal .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-down{animation:slideDownModal .3s cubic-bezier(.4,0,1,1) forwards}.animate-slide-up-fade{animation:slideUpFade .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideInFromRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutToRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes slideInFromLeft{0%{transform:translateX(-30%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutToLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-30%);opacity:0}}.animate-slide-in-right{animation:slideInFromRight .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-out-right{animation:slideOutToRight .25s cubic-bezier(.4,0,1,1) forwards}.animate-slide-in-left{animation:slideInFromLeft .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-out-left{animation:slideOutToLeft .25s cubic-bezier(.4,0,1,1) forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.animate-scale-in{animation:scaleIn .2s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-out{animation:scaleOut .2s cubic-bezier(.4,0,1,1) forwards}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.content-fade-in,.page-fade-in,.tab-content{animation:contentFadeIn .25s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fadeInUp{animation:fadeInUp .4s ease-out forwards;opacity:0}@keyframes fadeOutScreen{0%{opacity:1}to{opacity:0}}.animate-fade-out-screen{animation:fadeOutScreen .2s ease-out forwards}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spinReverse{0%{transform:rotate(1turn)}to{transform:rotate(0deg)}}@keyframes orbitalSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spinSlow 1.5s linear infinite}.animate-spin-reverse{animation:spinReverse 1s linear infinite}.orbital-dot{animation:orbitalSpin 1.2s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gpsPulseRing{0%{transform:scale(1);opacity:.6}50%{opacity:.3}to{transform:scale(1.8);opacity:0}}@keyframes bounceDot{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-6px);opacity:1}}.gps-pulse-ring{animation:gpsPulseRing 2s ease-out infinite}.animate-bounce-dot{animation:bounceDot .6s ease-in-out infinite}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,transparent,rgba(100,116,139,.3) 20%,rgba(148,163,184,.4) 50%,rgba(100,116,139,.3) 80%,transparent);background-size:200% 100%;animation:skeletonShimmer 1.8s ease-in-out infinite}.skeleton-container{animation:fadeIn .2s ease-out forwards}@keyframes emojiPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.animate-emoji-pop{animation:emojiPop .2s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes shakeHorizontal{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.animate-shake-horizontal{animation:shakeHorizontal .5s ease-in-out;background-color:rgba(var(--color-primary-rgb,99,102,241),.1);border-radius:12px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.animate-blink{animation:blink 1s step-start infinite}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.animate-modalIn{animation:modalIn .3s cubic-bezier(.175,.885,.32,1.275) forwards}.animate-modalOut{animation:modalOut .2s cubic-bezier(.4,0,1,1) forwards}@keyframes fadeOutBackdrop{0%{opacity:1}to{opacity:0}}.pb-safe{padding-bottom:max(8px,env(safe-area-inset-bottom,8px))}.pb-safe-lg{padding-bottom:max(20px,env(safe-area-inset-bottom,20px))}@supports (padding-bottom:env(safe-area-inset-bottom)){.pb-safe{padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px))}}.bottom-fab{bottom:calc(84px + env(safe-area-inset-bottom, 8px))}.bottom-fab-above{bottom:calc(140px + env(safe-area-inset-bottom, 8px))}.p-safe{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.pt-safe{padding-top:env(safe-area-inset-top,0)}.pr-safe{padding-right:env(safe-area-inset-right,0)}.pl-safe{padding-left:env(safe-area-inset-left,0)}.leaflet-bottom,.leaflet-container,.leaflet-control,.leaflet-pane,.leaflet-top{z-index:0!important}.current-location-icon-wrapper{background:transparent!important;border:none!important}html{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}[role=button],[tabindex],a,button,input,label,select,textarea{touch-action:manipulation;-ms-touch-action:manipulation}body,html{-webkit-overflow-scrolling:auto}#__next,body,html{overscroll-behavior:none;overscroll-behavior-y:none;overscroll-behavior-x:none}.overflow-auto,.overflow-scroll,.overflow-y-auto,.overflow-y-scroll{overscroll-behavior-y:contain}.overflow-x-auto,.overflow-x-scroll{overscroll-behavior-x:contain}#__next,body,html{overflow-x:hidden;max-width:100%}body{touch-action:pan-y pinch-zoom;overscroll-behavior-y:none}#__next,body,html{width:100%;height:100%}#__next{overflow:hidden}.no-select,[role=button],button{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.selectable,[contenteditable=true],h1,h2,h3,h4,h5,h6,input,p,span,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}[role=button],a,button,img{-webkit-touch-callout:none}*{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0)}@supports (-webkit-touch-callout:none){input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}}.scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.safe-area-inset{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.drawer-container,.modal-container,.overlay-container,[role=alertdialog],[role=dialog]{overscroll-behavior:contain;touch-action:pan-y}.fixed{overscroll-behavior:none}.carousel,.horizontal-scroll,.swiper{touch-action:pan-x;overscroll-behavior-x:contain}.vertical-scroll{touch-action:pan-y;overscroll-behavior-y:contain}.leaflet-container,.map-container{touch-action:auto}@media (display-mode:standalone){body{overscroll-behavior:none}}@media (max-width:768px){body,html{overflow-x:hidden!important;width:100%!important;max-width:100%!important}input,select,textarea{font-size:16px}}.auth-page{overflow-x:hidden;overflow-y:auto}.auth-page,.auth-page-content{min-height:100vh;min-height:100dvh;width:100%}.auth-page-content{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.auth-page-content{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.auth-page-content{display:flex;flex-direction:row;padding-left:2rem;padding-right:2rem}}.auth-branding-inner{width:100%;height:100%}@media (min-width:1024px){.auth-branding-inner{padding-right:3rem}}.auth-branding-panel{display:none}@media (min-width:1024px){.auth-branding-panel{display:flex;flex-direction:column;width:50%;min-height:100vh;min-height:100dvh;position:relative;overflow-x:hidden;overflow-y:auto}}.auth-branding-panel.dark-mode{background:linear-gradient(135deg,#1f2c47,#191d34 50%,#151528)!important}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:4.5rem 0 2rem;min-height:100vh;min-height:100dvh}@media (min-width:640px){.auth-form-panel{padding-top:5rem}}@media (min-width:1024px){.auth-form-panel{width:50%;padding-top:5rem;padding-left:3rem;justify-content:flex-start}}.auth-form-container{width:100%;max-width:22rem}.auth-mobile-header{display:none}@media (min-width:1024px){.auth-mobile-header{display:none}}.auth-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.05);padding:1.25rem}@media (min-width:1024px){.auth-card{background:transparent;border-radius:0;box-shadow:none;border:none;padding:0}}:is(.dark,[data-theme=dark]) .auth-card{background:#1f2937;border-color:hsla(0,0%,100%,.1);box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -2px rgba(0,0,0,.2)}@media (min-width:1024px){:is(.dark,[data-theme=dark]) .auth-card{background:transparent;border-color:transparent;box-shadow:none}}.auth-page button:focus,.auth-page button:focus-visible,.auth-page input:focus,.auth-page input:focus-visible,.auth-page select:focus,.auth-page select:focus-visible,.auth-page textarea:focus,.auth-page textarea:focus-visible{outline:none!important;box-shadow:none!important}.auth-card button:focus,.auth-card button:focus-visible,.auth-card input:focus,.auth-card input:focus-visible,.auth-card select:focus,.auth-card select:focus-visible,.auth-card textarea:focus,.auth-card textarea:focus-visible{outline:none!important;box-shadow:none!important}.auth-input-focus:focus-within{box-shadow:none}:is(.dark,[data-theme=dark]) .auth-input-focus:focus-within{box-shadow:none}.auth-tab-button:focus,.auth-tab-button:focus-visible{outline:none!important}.auth-social-button:focus,.auth-social-button:focus-visible{outline:none!important}.auth-primary-button:focus,.auth-primary-button:focus-visible{outline:none!important;box-shadow:none!important}.auth-card input[type=checkbox]:focus,.auth-card input[type=checkbox]:focus-visible{outline:none!important}.auth-title{font-size:1.25rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}@media (min-width:640px){.auth-title{font-size:1.5rem}}@media (min-width:1024px){.auth-title{font-size:1.75rem}}.auth-subtitle{font-size:.8125rem;line-height:1.5}@media (min-width:640px){.auth-subtitle{font-size:.875rem}}@media (min-width:1024px){.auth-subtitle{font-size:1rem}}.auth-branding-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}.auth-branding-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.4}.auth-spacing-sm{gap:clamp(.5rem,2vw,.75rem)}.auth-spacing-md{gap:clamp(.75rem,2vw,1rem)}.auth-spacing-lg{gap:clamp(1rem,3vw,1.5rem)}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border-radius:.625rem;font-weight:600;font-size:.8125rem;transition:all .3s ease-out;cursor:pointer;width:100%;min-height:40px}@media (min-width:640px){.auth-button{gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;min-height:44px;border-radius:.75rem}}@media (min-width:1024px){.auth-button{padding:.875rem 1.5rem;font-size:.9375rem;min-height:48px}}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-button-primary{color:#fff;border:none}.auth-button-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 25px -10px currentColor}.auth-button-primary:not(:disabled):active{transform:translateY(0)}.auth-button-secondary{background:transparent;border:2px solid var(--color-primary,#2ac1bc);color:var(--color-primary,#2ac1bc)}.auth-button-secondary:not(:disabled):hover{background:rgba(var(--color-primary-rgb,42,193,188),.1)}.auth-tabs{display:flex;gap:.5rem;padding:.25rem;background:#f3f4f6;border-radius:.75rem}:is(.dark,[data-theme=dark]) .auth-tabs{background:rgba(55,65,81,.5)}.auth-tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;transition:all .3s ease-out;border:none;background:transparent;cursor:pointer;min-height:36px}@media (min-width:640px){.auth-tab-button{gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;min-height:40px;border-radius:.5rem}}@media (min-width:1024px){.auth-tab-button{font-size:.875rem;min-height:44px}}.auth-tab-button.active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}:is(.dark,[data-theme=dark]) .auth-tab-button.active{background:#4b5563}.auth-tab-button:not(.active){color:#6b7280}:is(.dark,[data-theme=dark]) .auth-tab-button:not(.active){color:#9ca3af}.auth-tab-button:not(.active):hover{background:hsla(0,0%,100%,.5)}:is(.dark,[data-theme=dark]) .auth-tab-button:not(.active):hover{background:rgba(75,85,99,.5)}.auth-social-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.auth-social-button{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:.625rem;border:1px solid #e5e7eb;background:#fff;transition:all .2s ease-out;cursor:pointer;min-height:40px}@media (min-width:640px){.auth-social-button{padding:.625rem .875rem;min-height:44px;border-radius:.75rem}}@media (min-width:1024px){.auth-social-button{padding:.75rem 1rem;min-height:48px}}:is(.dark,[data-theme=dark]) .auth-social-button{background:#374151;border-color:#4b5563}.auth-social-button:hover{transform:scale(1.02);background:#f9fafb}:is(.dark,[data-theme=dark]) .auth-social-button:hover{background:#4b5563}.auth-social-button.kakao{background:#fee500;border-color:#fee500}.auth-social-button.kakao:hover{background:#fdd800}.auth-error-message{padding:1rem;border-radius:.75rem;background:#fef2f2;border:1px solid #fecaca}:is(.dark,[data-theme=dark]) .auth-error-message{background:rgba(159,18,57,.2);border-color:rgba(159,18,57,.3)}.auth-error-text{font-size:.875rem;font-weight:500;color:#e11d48}:is(.dark,[data-theme=dark]) .auth-error-text{color:#fb7185}.auth-decorative-circle{border-radius:50%;background:radial-gradient(circle,#fff 0,transparent 70%)}.auth-decorative-circle,.auth-decorative-grid{position:absolute;opacity:.1;pointer-events:none}.auth-decorative-grid{inset:0;background-image:linear-gradient(hsla(0,0%,100%,.1) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.1) 1px,transparent 0);background-size:40px 40px}@keyframes auth-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes auth-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.auth-animate-fadeIn{animation:auth-fadeIn .6s ease-out forwards}.auth-animate-slideUp{animation:auth-slideUp .6s ease-out forwards}.auth-animate-scaleIn{animation:auth-scaleIn .4s ease-out forwards}.auth-delay-100{animation-delay:.1s}.auth-delay-200{animation-delay:.2s}.auth-delay-300{animation-delay:.3s}.auth-delay-400{animation-delay:.4s}.auth-delay-500{animation-delay:.5s}.auth-feature-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:.75rem;background:hsla(0,0%,100%,.1);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.2);transition:all .5s ease-out}.auth-feature-card:hover{background:hsla(0,0%,100%,.15);transform:scale(1.02)}.auth-feature-icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.2)}.auth-desktop-only{display:none}@media (min-width:1024px){.auth-desktop-only{display:block}}.auth-mobile-only{display:block}@media (min-width:1024px){.auth-mobile-only{display:none}}.auth-page{box-sizing:border-box}.auth-page img,.auth-page svg{max-width:100%;height:auto}.auth-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-footer-links{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.75rem;color:#9ca3af}:is(.dark,[data-theme=dark]) .auth-footer-links{color:#6b7280}.auth-footer-links a{transition:color .2s ease-out}.auth-footer-links a:hover{color:#4b5563}:is(.dark,[data-theme=dark]) .auth-footer-links a:hover{color:#d1d5db}.auth-step-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-step{flex-direction:column}.auth-step,.auth-step-circle{display:flex;align-items:center}.auth-step-circle{width:2.5rem;height:2.5rem;border-radius:50%;justify-content:center;transition:all .3s ease-out}.auth-step-line{width:2rem;height:2px;margin:0 .5rem;transition:background-color .3s ease-out}@media (min-width:640px){.auth-step-line{width:3rem}}.auth-step-label{margin-top:.5rem;font-size:.75rem;font-weight:500;transition:color .3s ease-out}.auth-checkbox{width:1rem;height:1rem;border-radius:.25rem;cursor:pointer}.auth-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.auth-divider-line{flex:1;height:1px;background:#e5e7eb}:is(.dark,[data-theme=dark]) .auth-divider-line{background:#374151}.auth-divider-text{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af}:is(.dark,[data-theme=dark]) .auth-divider-text{color:#6b7280}.form-section{margin-bottom:1.5rem}.form-section:last-child{margin-bottom:0}.form-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}:is(.dark,[data-theme=dark]) .form-section-header{border-bottom-color:#374151}.form-section-icon{flex-shrink:0;width:2rem;height:2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.form-section-title{font-size:.8125rem;font-weight:600;color:#111827;line-height:1.4}@media (min-width:640px){.form-section-title{font-size:.875rem}}@media (min-width:1024px){.form-section-title{font-size:.9375rem}}:is(.dark,[data-theme=dark]) .form-section-title{color:#f3f4f6}.form-section-description{font-size:.6875rem;color:#6b7280;margin-top:.25rem;line-height:1.5}@media (min-width:640px){.form-section-description{font-size:.75rem}}@media (min-width:1024px){.form-section-description{font-size:.8125rem}}:is(.dark,[data-theme=dark]) .form-section-description{color:#9ca3af}.form-section-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.form-section-badge.required{background:#fee2e2;color:#be123c}:is(.dark,[data-theme=dark]) .form-section-badge.required{background:rgba(190,18,60,.2);color:#fb7185}.form-section-badge.optional{background:#e5e7eb;color:#6b7280}:is(.dark,[data-theme=dark]) .form-section-badge.optional{background:hsla(220,9%,46%,.2);color:#9ca3af}.form-section-toggle{flex-shrink:0;padding:.375rem;border-radius:.5rem;color:#6b7280;transition:all .2s ease-out;background:transparent;border:none;cursor:pointer}.form-section-toggle:hover{background:#f3f4f6;color:#374151}:is(.dark,[data-theme=dark]) .form-section-toggle:hover{background:#374151;color:#d1d5db}.form-section-content{transition:all .3s ease-out}.form-section-content.collapsed{max-height:0;opacity:0;margin-top:0;overflow:hidden}.form-section-content.expanded{max-height:none;opacity:1;overflow:visible}.dynamic-list,.dynamic-list-items{display:flex;flex-direction:column;gap:.75rem}.dynamic-list-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;overflow:visible;animation:auth-slideUp .3s ease-out forwards}:is(.dark,[data-theme=dark]) .dynamic-list-item{background:rgba(55,65,81,.5);border-color:#4b5563}.dynamic-list-item-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;background:rgba(0,0,0,.02);border-bottom:1px solid #e5e7eb}:is(.dark,[data-theme=dark]) .dynamic-list-item-header{background:rgba(0,0,0,.15);border-bottom-color:#4b5563}.dynamic-list-grip{color:#9ca3af;cursor:grab}:is(.dark,[data-theme=dark]) .dynamic-list-grip{color:#6b7280}.dynamic-list-index{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-size:.75rem;font-weight:600}.dynamic-list-remove{padding:.375rem;border-radius:.375rem;color:#9ca3af;background:transparent;border:none;cursor:pointer;transition:all .2s ease-out}.dynamic-list-remove:hover{background:#fee2e2;color:#e11d48}:is(.dark,[data-theme=dark]) .dynamic-list-remove:hover{background:rgba(225,29,72,.2);color:#fb7185}.dynamic-list-item-content{padding:1rem}.dynamic-list-empty{padding:1.5rem 1rem;text-align:center;color:#9ca3af;font-size:.875rem;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:.75rem}:is(.dark,[data-theme=dark]) .dynamic-list-empty{background:rgba(55,65,81,.3);border-color:#4b5563;color:#6b7280}.dynamic-list-add{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:2px dashed;border-radius:.75rem;background:transparent;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-out}.dynamic-list-add:hover{background:rgba(42,193,188,.08);border-style:solid}.dynamic-list-max-warning{font-size:.75rem;color:#f59e0b;text-align:center;margin-top:.5rem}.auth-signup-container{width:100%;max-width:100%}@media (min-width:1024px){.auth-signup-container{max-width:32rem}}.auth-signup-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.05);padding:1.25rem 1.25rem 1.5rem;max-height:calc(100vh - 9rem);overflow-y:auto;overflow-x:hidden}@media (min-width:640px){.auth-signup-card{padding:1.5rem 1.5rem 2rem;max-height:calc(100vh - 10rem)}}@media (min-width:1024px){.auth-signup-card{background:transparent;border-radius:0;box-shadow:none;border:none;padding:0 .75rem 2rem 0;max-height:calc(100vh - 5rem)}}:is(.dark,[data-theme=dark]) .auth-signup-card{background:#1f2937;border-color:hsla(0,0%,100%,.1);box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -2px rgba(0,0,0,.2)}@media (min-width:1024px){:is(.dark,[data-theme=dark]) .auth-signup-card{background:transparent;border-color:transparent;box-shadow:none}}.auth-signup-card::-webkit-scrollbar{width:8px}.auth-signup-card::-webkit-scrollbar-track{background:transparent;margin-top:.5rem;margin-bottom:.5rem}.auth-signup-card::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.auth-signup-card::-webkit-scrollbar-thumb:hover{background:#9ca3af;border:2px solid transparent;background-clip:padding-box}:is(.dark,[data-theme=dark]) .auth-signup-card::-webkit-scrollbar-track{background:transparent}:is(.dark,[data-theme=dark]) .auth-signup-card::-webkit-scrollbar-thumb{background:#4b5563;border:2px solid transparent;background-clip:padding-box}:is(.dark,[data-theme=dark]) .auth-signup-card::-webkit-scrollbar-thumb:hover{background:#6b7280;border:2px solid transparent;background-clip:padding-box}.auth-signup-card{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}:is(.dark,[data-theme=dark]) .auth-signup-card{scrollbar-color:#4b5563 transparent}.auth-form-row{display:grid;gap:1rem}@media (min-width:640px){.auth-form-row.cols-2{grid-template-columns:repeat(2,1fr)}}.auth-form-field{margin-bottom:1rem}.auth-form-field:last-child{margin-bottom:0}.auth-terms-compact{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:1rem;background:#f9fafb;border-radius:.75rem;border:1px solid #e5e7eb}:is(.dark,[data-theme=dark]) .auth-terms-compact{background:rgba(55,65,81,.5);border-color:#4b5563}.auth-terms-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.auth-terms-item label{cursor:pointer;color:#4b5563}:is(.dark,[data-theme=dark]) .auth-terms-item label{color:#d1d5db}.auth-terms-link{font-size:.75rem;text-decoration:underline;margin-left:.25rem}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+");background-position:100% 100%;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}