.login_loginPage__RDQ1L{height:100vh;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;margin-top:calc(var(--header-height) * -1);overflow:hidden}.login_loginPage__RDQ1L:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 35px,rgba(0,0,0,.02) 0,rgba(0,0,0,.02) 70px);pointer-events:none}.login_loginContainer__UoJWl{width:100%;max-width:420px;position:relative;z-index:1}.login_loginCard__oUnJN{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;animation:login_fadeInUp__TTSzA .4s ease-out}.login_loginContent__HUvRI{padding:32px}.login_loginTitle__pqjEI{font-size:20px;font-weight:600;color:#1a1a1a;margin-bottom:8px;text-align:center}.login_loginDescription__Bk42L{font-size:14px;color:#666;text-align:center;margin-bottom:24px;line-height:1.4}.login_errorMessage____0Gr{background:var(--color-bg);border-left:1px solid var(--color-accent);border:1px solid var(--color-accent);border-left-width:4px;border-radius:4px;padding:12px;margin-bottom:16px;color:var(--color-accent);font-size:14px;text-align:left;animation:login_slideIn__egUXf .3s ease-out}@keyframes login_slideIn__egUXf{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.login_lineLoginButton__8oJ8K{width:100%;height:48px;background:#00B900;color:white;border:none;border-radius:4px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s ease;position:relative;margin-bottom:10px}.login_lineLoginButton__8oJ8K:hover{background:#00A000}.login_lineLoginButton__8oJ8K:active{background:#008800}.login_lineLoginButton__8oJ8K.login_loading__RWTuv{pointer-events:none;opacity:.8}.login_lineLoginButton__8oJ8K:disabled{opacity:.6;cursor:not-allowed}.login_lineIcon__qQvEd{width:24px;height:24px}.login_googleLoginButton__ahnyd{width:100%;height:48px;background:white;color:#3c4043;border:2px solid var(--color-border);border-radius:4px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease;position:relative}.login_googleLoginButton__ahnyd:hover{background:var(--color-bg-secondary);border-color:#4285f4}.login_googleLoginButton__ahnyd:active{background:#e8eaed}.login_googleLoginButton__ahnyd.login_loading__RWTuv{pointer-events:none;opacity:.8}.login_googleLoginButton__ahnyd:disabled{opacity:.6;cursor:not-allowed}.login_googleIcon__s_5Kf{width:24px;height:24px}.login_otherOptions__zG_Ah{text-align:center;margin-top:20px}.login_guestLink__tKpf1{color:var(--color-text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s;border-bottom:1px solid transparent}.login_guestLink__tKpf1:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.login_loginFooter__zCkpP{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border);text-align:center}.login_loginFooter__zCkpP p{font-size:12px;color:var(--color-text-light);line-height:1.6}.login_loginFooter__zCkpP a{color:var(--color-text-secondary);text-decoration:none;border-bottom:1px solid transparent}.login_loginFooter__zCkpP a:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}@keyframes login_fadeInUp__TTSzA{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.login_backLink__sibue span{display:none}.login_loginContainer__UoJWl{max-width:100%}.login_loginCard__oUnJN{border-radius:8px}.login_loginContent__HUvRI{padding:24px 20px}.login_loginTitle__pqjEI{font-size:18px}.login_loginDescription__Bk42L{font-size:13px}.login_googleLoginButton__ahnyd,.login_lineLoginButton__8oJ8K{height:44px;font-size:14px}}.base-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.base-modal-overlay.base-modal--animated{animation:baseModalFadeIn .2s ease-out}@keyframes baseModalFadeIn{0%{opacity:0}to{opacity:1}}.base-modal-content{background:white;border-radius:16px;width:100%;max-height:90vh;overflow-y:auto;position:relative;display:flex;flex-direction:column}.base-modal-content.base-modal--animated{animation:baseModalSlideUp .2s ease-out}@keyframes baseModalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.base-modal--sm{max-width:360px}.base-modal--md{max-width:500px}.base-modal--lg{max-width:700px}.base-modal--full{max-width:100%;width:100%;height:100%;max-height:100%;border-radius:0}.base-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--gray-200,#e5e7eb);flex-shrink:0}.base-modal-header:has(.base-modal-title):not(:has(.base-modal-close)){justify-content:flex-start}.base-modal-header:has(.base-modal-close):not(:has(.base-modal-title)){justify-content:flex-end;border-bottom:none;padding-bottom:0}.base-modal-title{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:var(--gray-800,#1f2937);margin:0;flex:1}.base-modal-close{background:none;border:none;font-size:24px;color:var(--gray-500,#6b7280);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;flex-shrink:0;margin-left:auto}.base-modal-close:hover{background:var(--gray-100,#f3f4f6);color:var(--gray-800,#1f2937)}.base-modal-close:focus{outline:2px solid var(--color-link,#6366f1);outline-offset:2px}.base-modal-body{padding:20px;flex:1;overflow-y:auto}.base-modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--gray-200,#e5e7eb);flex-shrink:0}@media (max-width:640px){.base-modal-overlay{padding:16px}.base-modal--lg,.base-modal--md,.base-modal--sm,.base-modal-content{max-width:100%}.base-modal-header{padding:16px}.base-modal-title{font-size:18px}.base-modal-body{padding:16px}.base-modal-footer{padding:12px 16px}.base-modal--full{border-radius:0}}@media (prefers-reduced-motion:reduce){.base-modal-content.base-modal--animated,.base-modal-overlay.base-modal--animated{animation:none}}