:root{--login-primary:#00D4FF;--login-primary-dark:#0077B6;--login-accent:#7ED957;--login-bg:#f8fafc;--login-card-bg:#ffffff;--login-text:#1e293b;--login-text-light:#64748b;--login-text-muted:#94a3b8;--login-border:#e2e8f0;--login-border-focus:#00D4FF;--login-shadow:0 4px 6px -1px rgba(0,0,0,0.05),0 10px 15px -3px rgba(0,0,0,0.05);--login-shadow-hover:0 10px 25px -5px rgba(0,119,182,0.15);--login-shadow-input:0 0 0 3px rgba(0,212,255,0.12)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--login-bg);padding:1.5rem;position:relative;overflow:hidden}.login-container:before{width:600px;height:600px;background:linear-gradient(135deg,rgba(0,212,255,.08),rgba(126,217,87,.08));top:-200px;right:-200px}.login-container:after,.login-container:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-container:after{width:400px;height:400px;background:linear-gradient(135deg,rgba(0,119,182,.08),rgba(0,212,255,.08));bottom:-100px;left:-100px}.login-card{background:var(--login-card-bg);border-radius:1.25rem;box-shadow:var(--login-shadow);padding:2.5rem;width:100%;max-width:420px;position:relative;z-index:1;border:1px solid rgba(0,0,0,.04)}.login-header{text-align:center;margin-bottom:2rem;position:relative}.login-logo{margin-bottom:1.5rem}.logo-image{width:160px;height:auto;margin:0 auto;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.brand-name{display:none}.login-title{font-size:1.375rem;font-weight:600;color:var(--login-text);margin-bottom:.5rem;letter-spacing:-.01em}.login-subtitle{color:var(--login-text-light);font-size:.9375rem;line-height:1.5}.login-form{margin-bottom:0}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--login-text);margin-bottom:.5rem}.form-input{width:100%;padding:.875rem 1rem;font-size:.9375rem;color:var(--login-text);background:var(--login-bg);border:1.5px solid var(--login-border);border-radius:.625rem;transition:all .2s ease;box-sizing:border-box}.form-input::placeholder{color:var(--login-text-muted);opacity:1}.form-input:hover:not(:disabled){border-color:#cbd5e1}.form-input:focus{outline:none;border-color:var(--login-border-focus);box-shadow:var(--login-shadow-input);background:var(--login-card-bg)}.form-input:disabled{background-color:#f1f5f9;color:var(--login-text-muted);cursor:not-allowed;opacity:.7}.form-row{justify-content:space-between;margin-bottom:1.5rem}.form-checkbox,.form-row{display:flex;align-items:center}.form-checkbox{gap:.5rem}.checkbox-input{width:1.125rem;height:1.125rem;accent-color:var(--login-primary-dark);cursor:pointer;border-radius:.25rem}.checkbox-label{font-size:.875rem;color:var(--login-text-light);cursor:pointer;user-select:none}.forgot-link{font-size:.875rem;color:var(--login-primary-dark);text-decoration:none;font-weight:500;transition:color .2s ease}.forgot-link:hover{color:var(--login-primary);text-decoration:underline}.submit-button{width:100%;padding:.9375rem 1.5rem;background:linear-gradient(135deg,var(--login-primary-dark) 0,var(--login-primary) 100%);color:white;font-weight:600;font-size:1rem;border:none;border-radius:.625rem;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.submit-button:hover:not(:disabled):before{left:100%}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px -4px rgba(0,119,182,.4)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.875rem 1rem;border-radius:.625rem;margin-bottom:1.25rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.error-message:before{content:"⚠";font-size:1rem}.login-footer{text-align:center;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--login-border)}.footer-text{font-size:.875rem;color:var(--login-text-light)}.register-link{color:var(--login-primary-dark);text-decoration:none;font-weight:500;transition:color .2s ease}.register-link:hover{color:var(--login-primary);text-decoration:underline}.demo-credentials{margin-top:1.5rem;padding:1rem 1.25rem;background-color:rgba(0,212,255,.05);border-radius:.625rem;border:1px solid rgba(0,212,255,.15)}.demo-title{font-size:.875rem;font-weight:600;color:var(--login-primary-dark);margin-bottom:.75rem}.demo-list{font-size:.8125rem;color:var(--login-text-light)}.demo-item{margin-bottom:.375rem}.demo-item:last-child{margin-bottom:0}.demo-item strong{color:var(--login-text);font-weight:600}.spinner{width:40px;height:40px;border:3px solid rgba(0,212,255,.2);border-top:3px solid var(--login-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.login-header>div[style*="position: absolute"]{background:rgba(255,255,255,.9);border-radius:.5rem;padding:.25rem;backdrop-filter:blur(8px);border:1px solid var(--login-border)}[dir=rtl] .checkbox-input{margin-right:0;margin-left:0}[dir=rtl] .error-message:before{order:1}@media (max-width:480px){.login-container{padding:1rem}.login-container:after,.login-container:before{display:none}.login-card{padding:1.75rem 1.5rem;border-radius:1rem}.logo-image{width:140px}.login-title{font-size:1.25rem}.form-input{padding:.75rem .875rem;font-size:1rem}.submit-button{padding:.875rem 1.25rem}}@media (min-width:768px){.login-card{padding:3rem;max-width:440px}.logo-image{width:170px}}.checkbox-input:focus-visible,.form-input:focus-visible,.submit-button:focus-visible{outline:2px solid var(--login-primary);outline-offset:2px}@media (prefers-contrast:high){.login-card{border:2px solid var(--login-text)}.form-input{border-width:2px}}@media (prefers-reduced-motion:reduce){.form-input,.login-card,.submit-button{transition:none}.submit-button:before{display:none}.spinner{animation:none;border-top-color:var(--login-primary);border-right-color:var(--login-primary)}}