@keyframes slide-up{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-page{position:relative;min-height:100vh;width:100%;overflow:hidden;background:linear-gradient(to bottom right,#f9fafb,#fff,#dbeafe4d)}.login-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.login-bg-image{width:100%;height:100%;object-fit:cover;opacity:.04}.login-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom right,rgba(255,255,255,.6),transparent,rgba(0,94,184,.05))}.login-grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.3;background-image:linear-gradient(to right,rgba(0,94,184,.02) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,94,184,.02) 1px,transparent 1px);background-size:60px 60px}.glow-element{position:absolute;border-radius:50%;filter:blur(120px);z-index:1;animation:glow-pulse 3s ease-in-out infinite}.glow-top-right{top:80px;right:80px;width:384px;height:384px;background:#005eb814}.glow-bottom-left{bottom:128px;left:80px;width:320px;height:320px;background:#005eb80f;filter:blur(100px);animation-delay:1.5s}.login-content{position:relative;z-index:10;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}@media (min-width: 1024px){.login-content{padding:48px}}.login-grid{width:100%;max-width:1200px;display:grid;gap:48px;align-items:center}@media (min-width: 1024px){.login-grid{grid-template-columns:1fr 1fr;gap:80px}}.login-branding{display:none;animation:fade-in .8s ease-out}@media (min-width: 1024px){.login-branding{display:block;padding-right:32px}}.branding-content{display:flex;flex-direction:column;gap:40px}.logo-section{display:flex;flex-direction:column;gap:24px}.logo-text{display:inline-block}.logo-main{font-size:clamp(2.5rem,7vw,5.5rem);font-weight:900;line-height:.9;letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px}.logo-app{background:linear-gradient(to right,#005eb8,#07d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-builder{color:#1f2937}.logo-subtitle{font-size:clamp(.75rem,1.5vw,.875rem);font-weight:600;letter-spacing:.05em;color:#6b7280;margin-top:8px;margin-left:4px}.accent-bar{display:flex;align-items:center;gap:12px}.accent-line{height:4px;width:96px;background:linear-gradient(to right,#005EB8,transparent);border-radius:4px}.accent-dot{height:8px;width:8px;border-radius:50%;background:#005eb8}.mission-section{display:flex;flex-direction:column;gap:16px;max-width:448px}.mission-title{font-size:1.25rem;font-weight:700;color:#1f2937;line-height:1.4}@media (min-width: 1024px){.mission-title{font-size:1.5rem}}.mission-highlight{color:#005eb8}.mission-description{font-size:1rem;color:#4b5563;line-height:1.6;font-weight:500}.login-card-wrapper{animation:slide-up .7s cubic-bezier(.34,1.56,.64,1)}.signup-mode .login-grid{grid-template-columns:1fr;max-width:640px;margin:0 auto;gap:0}@media (min-width: 1024px){.signup-mode .login-grid{grid-template-columns:1fr;max-width:640px;gap:0}}.signup-mode .login-card{overflow:visible}.signup-mode .login-card .card-accent{border-top-left-radius:24px;border-top-right-radius:24px}.signup-logo{text-align:center;margin-bottom:24px;animation:fade-in .6s ease-out}.signup-logo .logo-main{font-size:clamp(2rem,5vw,3rem);justify-content:center}.signup-logo .logo-subtitle{margin-top:4px;text-align:center}.terms-section{margin-top:12px;padding-top:16px;border-top:1px solid #eee}.terms-label{font-size:13px;font-weight:600;color:#333;margin-bottom:8px}.terms-box{height:180px;overflow-y:auto;border:1px solid #d1d5db;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.6;color:#444;background:#fafafa;white-space:pre-wrap;word-break:keep-all;margin-bottom:12px}.terms-box:focus{outline:2px solid #005EB8;outline-offset:2px}.terms-check{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;color:#333}.terms-check .required{color:#d23f3f;font-weight:600}.marketing-section{margin-top:16px;padding-top:12px;border-top:1px solid #eee;font-size:13px;color:#555}.marketing-section .checkbox-wrapper{display:flex;align-items:center;gap:8px;margin-bottom:6px}select.form-input.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%236b7280' d='M5 8l5 5 5-5z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px;cursor:pointer;font-family:inherit;font-size:.95rem}select.form-input.form-select:focus{border-color:#005eb8;outline:none;box-shadow:0 0 0 3px #005eb826}select.form-input.form-select:disabled{cursor:not-allowed;opacity:.6}.form-select option{font-family:inherit;font-size:14px;padding:8px 12px;color:#111827;background:#fff}.form-select option:checked{background:#005eb8;color:#fff}.custom-select{position:relative;width:100%}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;background:#fff;font-family:inherit}.custom-select-trigger.is-placeholder .custom-select-value{color:#9ca3af}.custom-select-trigger.is-open{border-color:#005eb8;box-shadow:0 0 0 3px #005eb826}.custom-select-trigger:disabled{cursor:not-allowed;opacity:.6}.custom-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;color:#111827}.custom-select-arrow{width:18px;height:18px;margin-left:8px;color:#6b7280;transition:transform .15s ease;flex-shrink:0}.custom-select-trigger.is-open .custom-select-arrow{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 20px 40px -10px #00000026,0 4px 8px -2px #0000000d;z-index:100;overflow:hidden;animation:drop-in .12s ease-out}@keyframes drop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-select-search{width:100%;border:0;border-bottom:1px solid #f3f4f6;padding:10px 14px;font-size:14px;font-family:inherit;outline:none;background:#fafbfc;box-sizing:border-box}.custom-select-search::placeholder{color:#9ca3af}.custom-select-list{max-height:240px;overflow-y:auto;padding:4px 0}.custom-select-empty{padding:16px 14px;text-align:center;color:#9ca3af;font-size:14px}.custom-select-option{display:block;width:100%;text-align:left;background:transparent;border:0;padding:8px 14px;font-size:14px;font-family:inherit;color:#111827;cursor:pointer;transition:background .08s ease}.custom-select-option:hover,.custom-select-option.active{background:#f3f4f6}.custom-select-option.selected{color:#005eb8;font-weight:600}.custom-select-option.selected.active,.custom-select-option.selected:hover{background:#005eb814}.lang-toggle{position:fixed;top:16px;right:24px;z-index:50;display:flex;align-items:center;gap:4px;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #e5e7eb;border-radius:999px;padding:4px 6px;box-shadow:0 2px 8px #0000000f}.lang-btn{background:transparent;border:0;padding:4px 10px;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;border-radius:999px;transition:all .15s ease}.lang-btn:hover{color:#1f2937}.lang-btn.active{background:#005eb8;color:#fff}.lang-sep{color:#d1d5db;font-size:12px;-webkit-user-select:none;user-select:none}@media (max-width: 640px){.lang-toggle{top:10px;right:12px}.lang-btn{padding:3px 8px;font-size:12px}}.login-card{position:relative;border:none;box-shadow:0 20px 60px -15px #005eb833;background:#fffc;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:24px;overflow:hidden}.card-accent{height:6px;width:100%;background:linear-gradient(to right,#005eb8,#07d,#005eb8)}.card-header{padding:40px 40px 24px}.header-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.card-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:#111827}.secure-badge{display:flex;align-items:center;gap:8px}.secure-dot{width:8px;height:8px;border-radius:50%;background:#005eb8;animation:glow-pulse 3s ease-in-out infinite}.secure-text{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.1em}.card-description{color:#4b5563;font-weight:500;font-size:.875rem}.login-form{padding:0 40px 40px}.error-message{display:flex;align-items:center;gap:10px;padding:16px;margin-bottom:24px;font-size:.875rem;font-weight:600;color:#b91c1c;background:#fef2f2;border-radius:12px;border:1px solid #fecaca}.error-icon{width:16px;height:16px;flex-shrink:0}.form-fields{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:.875rem;font-weight:600;color:#374151}.input-wrapper{position:relative}.form-input{width:100%;height:48px;padding:0 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;color:#111827;background:#fff;transition:all .2s ease;box-sizing:border-box}.form-input::placeholder{color:#9ca3af}.form-input:focus{outline:none;border-color:#005eb8;box-shadow:0 0 0 3px #005eb81a}.form-input:disabled{background:#f3f4f6;cursor:not-allowed}.form-options{display:flex;align-items:center;padding-top:4px}.checkbox-wrapper{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;transition:all .2s ease;position:relative;flex-shrink:0}.checkbox-input:checked+.checkbox-custom{background:#005eb8;border-color:#005eb8}.checkbox-input:checked+.checkbox-custom:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label{font-size:.875rem;font-weight:500;color:#4b5563}.form-actions{margin-top:28px}.submit-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:52px;background:linear-gradient(to right,#005eb8,#07d);color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .3s ease;box-shadow:0 8px 24px -4px #005eb859;box-sizing:border-box}.submit-button:hover:not(:disabled){background:linear-gradient(to right,#004a99,#005eb8);box-shadow:0 12px 32px -4px #005eb873;transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.button-content{display:flex;align-items:center;justify-content:center;gap:8px}.button-arrow{width:20px;height:20px;transition:transform .2s ease}.submit-button:hover:not(:disabled) .button-arrow{transform:translate(4px)}.button-loading{display:flex;align-items:center;justify-content:center;gap:10px}.spinner{width:20px;height:20px;animation:spin 1s linear infinite}.login-footer{display:flex;justify-content:center;align-items:center;gap:24px;padding-top:32px}.footer-copyright{font-size:.75rem;color:#9ca3af}@media (max-width: 640px){.login-content{padding:16px}.card-header{padding:32px 24px 20px}.login-form{padding:0 24px 32px}.card-title{font-size:1.25rem}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;color:#111827;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root,.app{height:100%}
