.login-page{clip-path:inset(0);background:0 0;flex-direction:column;min-height:100vh;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;display:flex;position:relative}.login-page:before{content:"";opacity:.7;pointer-events:none;background-image:radial-gradient(3px 3px at 15% 25%,#fff,#0000),radial-gradient(2px 2px at 60% 70%,#fff,#0000),radial-gradient(1px 1px,#fff,#0000),radial-gradient(1px 1px at 80% 10%,#fff,#0000),radial-gradient(2px 2px at 90% 60%,#fff,#0000),radial-gradient(1px 1px at 33% 80%,#fff,#0000),radial-gradient(1px 1px at 15% 90%,#fff,#0000),radial-gradient(1px 1px at 25% 15%,#fff,#0000),radial-gradient(2px 2px at 75% 35%,#fff,#0000),radial-gradient(1px 1px at 40% 60%,#fff,#0000),radial-gradient(1px 1px at 5% 5%,#fff,#0000),radial-gradient(2px 2px at 95% 95%,#fff,#0000),radial-gradient(1px 1px at 45% 20%,#fff,#0000),radial-gradient(1px 1px at 70% 85%,#fff,#0000),radial-gradient(2px 2px at 20% 60%,#fff,#0000),radial-gradient(1px 1px at 85% 40%,#fff,#0000),radial-gradient(1px 1px at 10% 75%,#fff,#0000),radial-gradient(1px 1px at 55% 35%,#fff,#0000),radial-gradient(2px 2px at 35% 90%,#fff,#0000),radial-gradient(1px 1px at 65% 15%,#fff,#0000),radial-gradient(1px 1px at 30% 45%,#fff,#0000),radial-gradient(1px 1px at 88% 25%,#fff,#0000),radial-gradient(2px 2px at 12% 55%,#fff,#0000),radial-gradient(1px 1px at 48% 78%,#fff,#0000),radial-gradient(1px 1px at 72% 52%,#fff,#0000),radial-gradient(1px 1px at 18% 38%,#fff,#0000),radial-gradient(2px 2px at 92% 12%,#fff,#0000),radial-gradient(1px 1px at 38% 88%,#fff,#0000),radial-gradient(1px 1px at 62% 42%,#fff,#0000),radial-gradient(1px 1px at 8% 68%,#fff,#0000);background-position:0 0;background-size:200% 200%;animation:80s linear infinite starField;position:absolute;inset:0}.login-page:after{content:"";pointer-events:none;background-image:radial-gradient(80px at 10% 20%,#ffffff14 0%,#0000 50%),radial-gradient(120px at 88% 75%,#ef44441f 0%,#0000 50%),radial-gradient(100px at 65% 25%,#f973161a 0%,#0000 50%),radial-gradient(60px at 30% 85%,#ffffff0f 0%,#0000 50%);animation:10s ease-in-out infinite glow;position:absolute;inset:0}@keyframes starField{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes glow{0%,to{opacity:.3}50%{opacity:.6}}.login-page.no-particles:before,.login-page.no-particles:after{display:none}.login-main-area{z-index:1;flex:1;justify-content:center;align-items:center;padding:40px 16px;display:flex;position:relative}.login-vending-illustration{border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:480px;min-width:480px;height:520px;display:flex;overflow:hidden}.login-illustration-image{object-fit:contain;width:100%;height:100%}.login-vending-text-wrapper{text-align:center;max-width:300px}.login-vending-title{margin-bottom:8px;font-weight:600}.login-vending-sub{color:#555;font-size:12px;line-height:1.5}.login-card{width:320px;min-height:300px;box-shadow:0 8px 32px #0000004d,0 0 80px var(--primary-color-alpha-10);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffffa;border:1px solid #ffffff4d;border-radius:12px;flex-direction:column;gap:16px;margin-left:40px;padding:24px 24px 16px;display:flex}.login-header{border-bottom:1px solid #ddd;justify-content:center;align-items:center;padding-bottom:8px;display:flex}.login-title{color:#333;font-size:16px;font-weight:600}.login-version-badge{color:#fff;background:var(--primary-gradient);letter-spacing:.5px;box-shadow:0 2px 8px var(--primary-color-alpha-40);text-transform:uppercase;border-radius:12px;padding:4px 10px;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:10px;font-weight:700}.login-form-group{flex-direction:column;gap:4px;display:flex}.login-form-label{color:#555;font-size:13px}.login-input-placeholder{color:#888;background-color:#fafafa;border:1px solid #999;height:38px;padding:0 8px;font-size:13px}.login-input-placeholder::placeholder{color:#888}.login-button{text-align:center;color:#000;cursor:pointer;background-color:#ddd;border:1px solid #333;height:40px;font-size:14px;font-weight:600;transition:all .2s}.login-button:hover:not(:disabled){color:#fff;background-color:#333}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error-text{color:#ef4444;text-align:center;margin-top:-8px;font-size:12px}.login-success-text{color:#10b981;text-align:center;margin-top:-8px;font-size:12px}.login-account-guide{color:#777;text-align:center;border-top:1px solid #eee;margin-top:8px;padding-top:12px;font-size:12px;line-height:1.4}.login-card p,.login-reset-link{text-align:center;margin:0}.login-card a{color:#ef4444;font-size:12px;text-decoration:none;transition:all .2s;display:inline-block}.login-card a:hover{color:#dc2626;text-decoration:underline}.login-footer{text-align:center;color:#fff9;z-index:1;padding:24px 0 32px;font-size:12px;position:relative}@media (max-width:1024px){.login-vending-illustration{display:none}.login-main-area{justify-content:center}.login-card{margin:0 auto}}@media (max-width:640px){.login-main-area{padding:20px 16px}}.login-loading{justify-content:center;align-items:center;display:flex}.login-loading-spinner{flex-direction:column;align-items:center;gap:16px;display:flex}.login-spinner{border:3px solid #ffffff1a;border-top-color:#fffc;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite loginSpin}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer-badge{z-index:100;background:0 0;border:none;align-self:flex-end;align-items:center;gap:10px;margin-top:auto;margin-right:24px;padding:10px 16px;transition:all .3s;display:flex;position:sticky;bottom:90px}.login-footer-badge:hover{transform:translateY(-2px)}.login-footer-logo{object-fit:contain;opacity:.9;width:142px;height:24px}.login-footer-version{color:#ffffffb3;letter-spacing:.5px;background:#ffffff1a;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}@media (max-width:640px){.login-footer-badge{gap:8px;margin-right:16px;padding:8px 12px;bottom:16px}.login-footer-logo{width:118px;height:20px}.login-footer-version{padding:3px 8px;font-size:11px}}
