@keyframes panelSlideIn{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes iconPop{0%{opacity:0;transform:scale(.85);box-shadow:0 0 #6d28d900}to{opacity:1;transform:scale(1);box-shadow:0 10px 36px #6d28d959,0 0 64px #6d28d91a}}.login-container{background-image:url(/images/charging-stations.webp);background-position:100%;background-repeat:no-repeat;background-size:cover;width:100%;min-height:100vh;font-family:Inter,Montserrat,system-ui,sans-serif;position:relative;overflow:hidden}.login-container:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(110deg,#0000002e 0%,#0000000a 50%,#0000 100%);position:absolute;inset:0}.login-form-area{z-index:2;-webkit-backdrop-filter:blur(28px);background:#ffffffb8;border:1px solid #ffffff85;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:34%;min-width:360px;padding:52px 44px;animation:.7s cubic-bezier(.16,1,.3,1) both panelSlideIn;display:flex;position:absolute;top:40px;bottom:40px;left:5%;overflow-y:auto;box-shadow:0 8px 48px #0000001f,inset 0 1px #ffffffa6}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.login-form-area{background:#ffffff94}}.login-image-area,.glass-shape,.theme-toggle-btn{display:none}.settings-btn{z-index:3;-webkit-backdrop-filter:blur(8px);color:#ffffffb8;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:color .3s,background .3s,transform .4s;display:flex;position:absolute;top:24px;right:24px}.settings-btn:hover{color:#fff;background:#ffffff47;transform:rotate(50deg)}.login-header{text-align:center;width:100%;margin-bottom:40px;animation:.65s .2s both fadeInUp}.login-icon{border-radius:20px;width:74px;height:74px;margin:0 auto 14px;animation:.8s .3s both iconPop;display:block}.login-brand-name{color:#0f0f1e;letter-spacing:-1px;margin-bottom:4px;font-size:34px;font-weight:900;line-height:1}.login-by-label{color:#0f0a2866;text-transform:uppercase;letter-spacing:3.5px;font-size:10px;font-weight:700}.login-content{width:100%;max-width:340px}.welcome-title{color:#0f0f1e;letter-spacing:-1px;margin-bottom:8px;font-size:38px;font-weight:800;animation:.65s .3s both fadeInUp}.welcome-subtitle{color:#0f0a2885;margin-bottom:32px;font-size:15px;animation:.65s .38s both fadeInUp}.login-form{animation:.65s .44s both fadeInUp}.form-group{margin-bottom:18px}.form-group label{display:none}.input-wrapper{background:#ffffff61;border:1px solid #ffffff94;border-radius:12px;align-items:center;height:52px;padding:0 16px;transition:border-color .25s,box-shadow .25s;display:flex;position:relative}.input-wrapper:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.input-icon{color:#0f0a2861;flex-shrink:0;margin-right:12px;font-size:16px}.input-wrapper .form-control{color:#0f0f1e;background:0 0;border:none;outline:none;flex:1;height:100%;font-family:inherit;font-size:15px}.input-wrapper .form-control::placeholder{color:#0f0a2859;opacity:1}.input-wrapper .form-control:-webkit-autofill{-webkit-text-fill-color:#0f0f1e;-webkit-background-clip:text}.password-toggle{color:#0f0a2861;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:15px;transition:color .2s}.password-toggle:hover{color:#0f0a28bf}.btn-login{color:#fff;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 100%);border:none;border-radius:12px;width:100%;height:52px;margin-top:6px;font-size:13px;font-weight:700;transition:transform .2s,filter .2s,box-shadow .2s;box-shadow:0 4px 20px #6d28d961}.btn-login:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.02)translateY(-1px);box-shadow:0 7px 28px #6d28d985}.btn-login:active:not(:disabled){transform:scale(.99)translateY(0)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.login-divider{text-align:center;color:#0f0a284d;align-items:center;margin:22px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid #0f0a281a;flex:1}.login-divider span{padding:0 16px}.login-footer{text-align:center;margin-top:20px}.forgot-link{color:#2563eb;font-size:14px;text-decoration:none;transition:color .2s}.forgot-link:hover{color:#7c3aed;text-decoration:underline}.login-version-footer{text-align:center;margin-top:24px}.app-version--login{letter-spacing:.4px;color:#0f0a284d;font-variant-numeric:tabular-nums;background:#ffffff59;border:1px solid #ffffff8c;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500;transition:color .2s;display:inline-block}.app-version--login:hover{color:#7c3aed}@media (max-width:992px){.login-form-area{width:100%;min-height:100vh;box-shadow:none;border-radius:0;padding:48px 32px;position:relative;top:auto;bottom:auto;left:auto}.settings-btn{top:16px;right:16px}}@media (max-width:480px){.login-form-area{padding:40px 24px}.welcome-title{font-size:32px}}
