.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c266bb,#764ba2)}.login-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-box h1{margin-bottom:1.5rem;text-align:center;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#c266bb}.error-message{color:#e74c3c;margin-bottom:1rem;padding:.5rem;background-color:#fee;border-radius:4px;font-size:.9rem}.login-button{width:100%;padding:.75rem;background-color:#c266bb;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.login-button:hover:not(:disabled){background-color:#222}.login-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.login-box{padding:1.5rem;margin:1rem}.login-box h1{font-size:1.5rem;margin-bottom:1.25rem}}@media (max-width: 480px){.login-container{padding:.5rem}.login-box{padding:1.25rem;margin:.5rem}.login-box h1{font-size:1.3rem;margin-bottom:1rem}.form-group{margin-bottom:.85rem}.form-group input,.login-button{padding:.65rem;font-size:.95rem}}.product-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer;display:flex;flex-direction:column;max-height:362px}.product-card:hover:not(.out-of-stock){transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.product-card.out-of-stock{opacity:.6}.product-image{width:100%;height:150px;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-info{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.product-name{font-size:1rem;font-weight:600;color:#333;margin:0;line-height:1.3}.product-price{font-size:1.2rem;font-weight:700;color:#c266bb}.product-original-price{font-size:.9rem;color:#999;text-decoration:line-through}.product-stock{font-size:.85rem}.in-stock{color:#27ae60}.out-of-stock-text{color:#e74c3c}.add-to-cart-button{margin-top:auto;padding:.75rem;background-color:#c266bb;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .3s}.add-to-cart-button:hover:not(:disabled){background-color:#222}.add-to-cart-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width: 1024px){.product-image{height:130px}.product-info{padding:.85rem}.product-name{font-size:.95rem}.product-price{font-size:1.1rem}}@media (max-width: 768px){.product-image{height:120px}.product-info{padding:.75rem;gap:.4rem}.product-name{font-size:.9rem}.product-price{font-size:1rem}.product-original-price{font-size:.85rem}.product-stock{font-size:.8rem}.add-to-cart-button{padding:.6rem;font-size:.9rem}}@media (max-width: 480px){.product-image{height:100px}.product-info{padding:.6rem;gap:.3rem}.product-name{font-size:.85rem}.product-price{font-size:.95rem}.add-to-cart-button{padding:.5rem;font-size:.85rem}}.product-list{flex:1;overflow-y:auto;padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.product-list-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:1.1rem}@media (max-width: 1024px){.product-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;padding:.75rem}}@media (max-width: 768px){.product-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;padding:.75rem}}@media (max-width: 480px){.product-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;padding:.5rem}.product-list-empty{font-size:1rem}}.cart-item{padding:1rem;border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:.75rem}.cart-item:last-child{border-bottom:none}.cart-item-info{flex:1}.cart-item-name{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#333}.cart-item-price{font-size:.85rem;color:#666}.cart-item-controls{display:flex;align-items:center;gap:1rem}.quantity-controls{display:flex;align-items:center;gap:.5rem;border:1px solid #ddd;border-radius:4px;padding:.25rem}.quantity-button{width:28px;height:28px;border:none;background-color:#f0f0f0;border-radius:4px;cursor:pointer;font-size:1.2rem;font-weight:600;color:#333;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.quantity-button:hover{background-color:#e0e0e0}.quantity-value{min-width:30px;text-align:center;font-weight:600}.cart-item-subtotal{flex:1;text-align:right;font-weight:700;font-size:1.1rem;color:#c266bb}.remove-button{width:32px;height:32px;border:none;background-color:#e74c3c;color:#fff;border-radius:4px;cursor:pointer;font-size:1.5rem;font-weight:600;line-height:1;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.remove-button:hover{background-color:#c0392b}@media (max-width: 768px){.cart-item{padding:.75rem;gap:.6rem}.cart-item-name{font-size:.95rem}.cart-item-price{font-size:.8rem}.cart-item-controls{gap:.75rem}.cart-item-subtotal{font-size:1rem}}@media (max-width: 480px){.cart-item{padding:.6rem;gap:.5rem}.cart-item-name{font-size:.9rem}.cart-item-price{font-size:.75rem}.cart-item-controls{gap:.5rem}.quantity-controls{gap:.4rem;padding:.2rem}.quantity-button{width:26px;height:26px;font-size:1.1rem}.quantity-value{min-width:28px;font-size:.9rem}.cart-item-subtotal{font-size:.95rem}.remove-button{width:28px;height:28px;font-size:1.3rem}}.dialog-content{background:#fff;border-radius:8px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.dialog-header h2{margin:0;font-size:1.5rem;color:#333}.dialog-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.dialog-close:hover{background-color:#f0f0f0;color:#333}.customer-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.9rem}.required{color:#e74c3c}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#c266bb}.form-group input.error,.form-group textarea.error{border-color:#e74c3c}.error-message{display:block;color:#e74c3c;font-size:.85rem;margin-top:.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.form-group.full-width{grid-column:1 / -1}.dialog-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-skip,.btn-confirm{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.btn-skip{background-color:#f0f0f0;color:#333}.btn-skip:hover{background-color:#e0e0e0}.btn-confirm{background-color:#c266bb;color:#fff}.btn-confirm:hover{background-color:#5568d3}@media (max-width: 768px){.dialog-content{max-width:100%;margin:.5rem}.dialog-header{padding:1rem}.dialog-header h2{font-size:1.3rem}.customer-form{padding:1rem}.dialog-actions{flex-direction:column-reverse}.btn-skip,.btn-confirm{width:100%}.form-grid{grid-template-columns:1fr}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.success-dialog-content{background:#fff;border-radius:8px;width:100%;max-width:400px;padding:2rem;text-align:center;box-shadow:0 4px 6px #0000001a}.success-icon{width:64px;height:64px;border-radius:50%;background-color:#27ae60;color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem}.success-dialog-content h2{margin:0 0 1rem;font-size:1.5rem;color:#333}.order-number{margin:.5rem 0 1.5rem;color:#666;font-size:1.1rem;font-weight:600}.btn-close{width:100%;padding:.75rem;background-color:#c266bb;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.btn-close:hover{background-color:#5568d3}@media (max-width: 768px){.success-dialog-content{max-width:100%;margin:.5rem;padding:1.5rem}.success-icon{width:56px;height:56px;font-size:1.75rem}.success-dialog-content h2{font-size:1.3rem}}.cart{display:flex;flex-direction:column;height:100%;position:relative}.cart-header{padding:1rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background-color:#fafafa}.cart-header h2{margin:0;font-size:1.5rem;color:#333}.cart-count{color:#666;font-size:.9rem}.cart-items{flex:1;overflow-y:auto;padding:1rem}.cart-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#999}.cart-footer{padding:1rem;border-top:1px solid #eee;background-color:#fafafa;margin-top:auto;flex-shrink:0;position:sticky;bottom:0;z-index:10;box-shadow:0 -2px 8px #0000001a}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem;background-color:#fff;border-radius:4px}.total-label{font-size:1.1rem;font-weight:600;color:#333}.total-amount{font-size:1.5rem;font-weight:700;color:#c266bb}.cart-message{padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.cart-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.cart-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.checkout-button{width:100%;padding:1rem;background-color:#27ae60;color:#fff;border:none;border-radius:4px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.checkout-button:hover:not(:disabled){background-color:#229954}.checkout-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width: 1024px){.cart-header h2{font-size:1.3rem}.cart-total{padding:.6rem}.total-label{font-size:1rem}.total-amount{font-size:1.3rem}.checkout-button{padding:.9rem;font-size:1rem}}@media (max-width: 768px){.cart-header{padding:.75rem}.cart-header h2{font-size:1.2rem}.cart-count{font-size:.85rem}.cart-items,.cart-footer{padding:.75rem}.cart-total{padding:.5rem;margin-bottom:.75rem}.total-label{font-size:.95rem}.total-amount{font-size:1.2rem}.checkout-button{padding:.85rem;font-size:.95rem}}@media (max-width: 480px){.cart-header{padding:.5rem}.cart-header h2{font-size:1.1rem}.cart-items,.cart-footer{padding:.5rem}.cart-total{padding:.4rem;margin-bottom:.5rem}.total-label{font-size:.9rem}.total-amount{font-size:1.1rem}.checkout-button{padding:.75rem;font-size:.9rem}}.pos-container{min-height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5}.pos-header{background-color:#c266bb;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.header-left h1{margin:0;font-size:1.5rem}.user-info{font-size:.9rem;opacity:.9;margin-left:1rem}.logout-button{padding:.5rem 1rem;background-color:#222;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.logout-button:hover{background-color:#222}.pos-content{display:flex;flex:1;overflow:hidden}.products-section{flex:1;display:flex;flex-direction:column;background-color:#fff;margin:1rem .5rem 1rem 1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.products-header{padding:1rem;border-bottom:1px solid #eee;background-color:#fafafa}.search-wrapper{position:relative;margin-bottom:1rem}.search-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.search-input:focus{outline:none;border-color:#c266bb}.search-loading{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.85rem;color:#666;pointer-events:none}.categories-filter{display:flex;gap:.5rem;flex-wrap:wrap}.categories-filter button{padding:.5rem 1rem;border:1px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;transition:all .3s;font-size:.9rem}.categories-filter button:hover{background-color:#f0f0f0}.categories-filter button.active{background-color:#c266bb;color:#fff;border-color:#c266bb}.cart-section{width:400px;background-color:#fff;margin:1rem 1rem 1rem .5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 80px - 2rem);max-height:calc(100vh - 80px - 2rem)}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:#666}@media (max-width: 1024px){.pos-content{flex-direction:column}.products-section{margin-right:1rem;margin-bottom:.5rem}.cart-section{width:100%;margin-left:1rem;margin-top:.5rem;height:calc(50vh - 1rem);max-height:calc(50vh - 1rem)}}@media (max-width: 768px){.pos-header{padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem}.header-left{display:flex;flex-direction:column;gap:.25rem}.header-left h1{font-size:1.2rem}.user-info{font-size:.8rem;margin-left:0}.logout-button{padding:.4rem .8rem;font-size:.9rem}.pos-content{flex-direction:column;overflow-y:auto}.products-section{margin:.5rem;min-height:50vh}.products-header{padding:.75rem}.cart-section{width:100%;margin:.5rem;margin-top:0;height:calc(50vh - 1rem);max-height:calc(50vh - 1rem);position:sticky;bottom:0;z-index:10}.categories-filter{gap:.25rem}.categories-filter button{padding:.4rem .75rem;font-size:.8rem}}@media (max-width: 480px){.pos-header{padding:.5rem}.header-left h1{font-size:1rem}.user-info{font-size:.75rem}.products-section{margin:.25rem}.cart-section{margin:.25rem;height:calc(45vh - .5rem);max-height:calc(45vh - .5rem)}.products-header{padding:.5rem}.search-input{padding:.6rem;font-size:.9rem}.categories-filter button{padding:.35rem .6rem;font-size:.75rem}}.app{min-height:100vh;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;overflow-x:hidden}#root{min-height:100vh;width:100%}@media (max-width: 768px){button,.quantity-button,.remove-button,.add-to-cart-button,.checkout-button{min-height:44px;-webkit-tap-highlight-color:rgba(0,0,0,.1)}input,select,textarea{font-size:16px}}
