@font-face{font-display:fallback;font-family:OpenSans;font-style:normal;src:url(../fonts/OpenSans-Regular.ttf) format("truetype")}*{box-sizing:border-box;margin:0;padding:0}body{font-family:OpenSans,sans-serif}.ddwcpos-login-wrapper{align-items:center;background:var(--login-canvas,#f0f7ff);display:flex;height:100%;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:9999}.ddwcpos-login-wrapper .ddwcpos-mesh-background{animation:drift 20s ease-in-out infinite alternate;background:radial-gradient(at 0 0,var(--login-mesh-1,rgba(173,216,230,.4)) 0,transparent 50%),radial-gradient(at 100% 0,var(--login-mesh-2,rgba(201,231,255,.3)) 0,transparent 50%),radial-gradient(at 100% 100%,var(--login-mesh-1,rgba(220,240,255,.4)) 0,transparent 50%),radial-gradient(at 0 100%,var(--login-mesh-2,rgba(186,225,255,.3)) 0,transparent 50%),radial-gradient(at 50% 50%,hsla(0,0%,100%,.5) 0,transparent 80%);filter:blur(80px);height:100%;position:absolute;width:100%;z-index:0}.ddwcpos-login-card{animation:loginEntrance .8s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--login-card-bg,hsla(0,0%,100%,.4));border:1px solid hsla(0,0%,100%,.5);border-radius:32px;box-shadow:0 25px 50px -12px rgba(0,0,0,.05);max-width:440px;padding:48px;position:relative;text-align:center;width:100%;z-index:10}.ddwcpos-login-card .ddwcpos-login-header{margin-bottom:32px}.ddwcpos-login-card .ddwcpos-login-header .ddwcpos-brand-icon{align-items:center;display:inline-flex;justify-content:center;margin-bottom:15px}.ddwcpos-login-card .ddwcpos-login-header .ddwcpos-brand-icon img{height:auto;width:48px}.ddwcpos-login-card .ddwcpos-login-header h1{color:var(--login-text,#1a1a1a);font-size:28px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px}.ddwcpos-login-card .ddwcpos-login-header .ddwcpos-login-subtitle{color:var(--login-text,#666);font-size:14px;line-height:1.6;margin:0 auto;max-width:280px;opacity:.8}.ddwcpos-login-card .ddwcpos-login-error{background:#fff;border:1px solid #fee2e2;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.05);margin-bottom:24px;padding:12px 16px}.ddwcpos-login-card .ddwcpos-login-error p{align-items:center;color:#ef4444;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;margin:0}.ddwcpos-login-card form#ddwcpos-login-form{display:flex;flex-direction:column;gap:20px}.ddwcpos-login-card form#ddwcpos-login-form .login-input-group{text-align:left}.ddwcpos-login-card form#ddwcpos-login-form .login-input-group label{display:none}.ddwcpos-login-card form#ddwcpos-login-form .login-input-group .input-with-icon{align-items:center;display:flex;position:relative}.ddwcpos-login-card form#ddwcpos-login-form .login-input-group .input-with-icon .input-icon{color:#999;left:16px;pointer-events:none;position:absolute}.ddwcpos-login-card form#ddwcpos-login-form .login-input-group .input-with-icon input.input{background:hsla(0,0%,100%,.5);border:1px solid rgba(0,0,0,.05);border-radius:12px;color:#1a1a1a;font-size:16px;height:52px;outline:none;padding:0 16px 0 48px;transition:all .3s ease;width:100%}.ddwcpos-login-card form#ddwcpos-login-form .login-input-group .input-with-icon input.input::placeholder{color:#999}.ddwcpos-login-card form#ddwcpos-login-form .login-input-group .input-with-icon input.input:focus{background:#fff;border-color:#000}.ddwcpos-login-card form#ddwcpos-login-form .login-extra-options{align-items:center;display:flex;justify-content:space-between;margin-top:-8px}.ddwcpos-login-card form#ddwcpos-login-form .login-extra-options .login-remember label{align-items:center;color:var(--login-text,#666);cursor:pointer;display:flex;font-size:13px;gap:8px;opacity:.8}.ddwcpos-login-card form#ddwcpos-login-form .login-extra-options .login-remember label input{height:16px;width:16px}.ddwcpos-login-card form#ddwcpos-login-form .login-extra-options .login-forgot-password a{color:var(--login-text,#666);font-size:13px;opacity:.8;text-decoration:none;transition:all .2s ease}.ddwcpos-login-card form#ddwcpos-login-form .login-extra-options .login-forgot-password a:hover{color:var(--login-text,#000);opacity:1}.ddwcpos-login-card form#ddwcpos-login-form .login-submit button{align-items:center;background:var(--login-text,#1a1a1a);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;height:52px;justify-content:center;transition:all .3s ease;width:100%}.ddwcpos-login-card form#ddwcpos-login-form .login-submit button:hover{box-shadow:0 8px 20px rgba(0,0,0,.15);opacity:.9;transform:translateY(-1px)}.ddwcpos-login-card form#ddwcpos-login-form .login-submit button:active{transform:translateY(0)}.ddwcpos-login-card form#ddwcpos-login-form .login-submit button svg{opacity:.7;transition:transform .3s ease}.ddwcpos-login-card form#ddwcpos-login-form .login-submit button:hover svg{transform:translateX(3px)}.ddwcpos-login-card .ddwcpos-login-footer{border-top:1px solid rgba(0,0,0,.05);margin-top:32px;padding-top:24px}.ddwcpos-login-card .ddwcpos-login-footer p{color:var(--login-text,#888);font-size:13px;opacity:.7}@keyframes loginEntrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{transform:scale(1)}to{transform:scale(1.1) translate(20px,20px)}}@media (max-width:480px){.ddwcpos-login-card{border-radius:24px;margin:16px;padding:32px 24px}}