.sidebar{width:80px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);color:var(--text-secondary);display:flex;flex-direction:column;height:100%;transition:width .3s ease;overflow:hidden;flex-shrink:0}.sidebar:hover{width:240px}.sidebar-header{height:64px;display:flex;align-items:center;justify-content:center;gap:10px;border-bottom:1px solid var(--border-color);padding:0 12px;overflow:hidden}.logo-placeholder{width:40px;height:40px;min-width:40px;background-color:var(--accent-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.store-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;padding:16px 28px;color:var(--text-secondary);text-decoration:none;transition:all .2s;white-space:nowrap;background:none;border:none;width:100%;font-family:inherit;font-size:16px;cursor:pointer;border-left:3px solid transparent}.nav-item:hover{color:var(--text-primary);background-color:var(--bg-hover)}.nav-item.active{color:var(--accent-primary);background-color:var(--bg-hover);border-left:3px solid var(--accent-primary)}.nav-label{margin-left:24px;opacity:0;transition:opacity .2s}.sidebar:hover .nav-label{opacity:1}.sidebar-footer{padding:16px 0;border-top:1px solid var(--border-color)}@media(max-width:1366px){.sidebar.hidden{transform:translateY(100%);transition:transform .3s ease}.sidebar{transition:transform .3s ease}}@media(max-width:1366px){.sidebar{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:64px!important;flex-direction:row!important;flex-shrink:0!important;z-index:900;border-right:none!important;border-top:1px solid var(--border-color);box-shadow:0 -2px 8px #0000001a;overflow:visible!important}.sidebar:hover{width:100%!important}.sidebar-header{display:none!important}.sidebar-footer{display:flex!important;padding:0!important;border:none!important}.sidebar-footer .nav-item{flex-direction:column!important;padding:8px 4px!important;gap:2px;min-width:56px;font-size:10px!important}.sidebar-footer .nav-label{font-size:10px!important;margin:0!important;opacity:1!important}.sidebar-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-around!important;padding:0!important;width:100%!important;overflow-x:auto;overflow-y:hidden}.nav-item{flex-direction:column!important;padding:8px 4px!important;gap:2px;border-left:none!important;border-bottom:2px solid transparent;min-width:56px;justify-content:center!important;align-items:center!important;font-size:10px!important}.nav-item.active{border-left:none!important;border-bottom:2px solid var(--accent-primary)}.nav-label{margin-left:0!important;opacity:1!important;font-size:10px!important;line-height:1}.sidebar:hover .nav-label{opacity:1!important}}.category-tabs{display:flex;overflow-x:auto;background-color:#fff;border-top:2px solid #eeeeee;padding:0 16px;gap:12px;position:sticky;bottom:0;z-index:10;flex-shrink:0;scrollbar-width:none;box-shadow:0 -2px 8px #0000000a}.category-tabs::-webkit-scrollbar{display:none}.category-tab{padding:14px 12px;background:none;border:none;border-top:4px solid transparent;font-size:15px;font-weight:600;color:#666;cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px}.category-tab:hover{color:#111;background-color:#00000005}.category-tab.active{color:#111;font-weight:800}.product-grid-container{display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%}.product-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:auto;gap:12px;padding:16px;overflow-y:auto;align-content:start;flex:1}.product-card{background-color:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;height:fit-content;align-self:start;min-height:auto;transition:transform .1s,box-shadow .1s,border .2s,background-color .2s;position:relative;-webkit-user-select:none;user-select:none;border:1px solid var(--border-color)}.product-card:active{transform:scale(.98)}.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.product-card.empty-placeholder{background-color:transparent;border:1px dashed var(--border-color);box-shadow:none;cursor:default;visibility:visible}.product-grid:not(.reorder-mode) .product-card.empty-placeholder{border:none;background-color:transparent}.product-card.empty-slot{background-color:var(--bg-secondary);border:2px dashed var(--border-color);box-shadow:none;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all .2s}.product-card.empty-slot:hover{background-color:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary);cursor:pointer}.product-card.empty-slot.drag-over{background-color:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary);transform:scale(1.02)}.empty-slot-content{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;font-weight:500}.product-image-placeholder{height:0;width:100%;flex-shrink:0;background-color:transparent}.product-color-strip{height:4px;width:100%}.product-image{height:90px;width:100%;background-size:cover;background-position:center;flex-shrink:0}.product-info{padding:8px 10px;flex:1;display:flex;flex-direction:column;justify-content:space-between}.product-name{font-size:12px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word;min-height:2.4em}.product-price{font-size:13px;font-weight:700;color:var(--accent-primary);margin-top:2px}.stock-badge{display:inline-block;background-color:var(--bg-secondary);color:var(--text-tertiary);font-size:9px;border-radius:8px;font-weight:500;padding:1px 6px;margin-top:2px}.stock-badge.low-stock{background-color:#fff3e0;color:#f57c00}.product-menu-btn,.product-delete-btn{position:absolute;top:8px;right:8px;border-radius:4px;padding:4px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center}.product-menu-btn{background:var(--bg-card);border:1px solid var(--border-color);opacity:1;transition:background-color .2s;color:var(--text-primary)}.product-menu-btn:hover{background:var(--bg-hover)}.product-delete-btn{background:#f44336f2;border:none;color:#fff;padding:6px}.product-delete-btn:hover{background:#d32f2f;transform:scale(1.05)}.context-menu{background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-md);padding:8px 0;min-width:180px;border:1px solid var(--border-color)}.context-menu-item{width:100%;padding:10px 16px;border:none;background:none;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;color:var(--text-primary);transition:background-color .2s;text-align:left}.context-menu-item:hover{background-color:var(--bg-hover)}.context-menu-item.danger{color:#f44336}.context-menu-item.danger:hover{background-color:#ffebee}.reorder-mode-banner{position:sticky;top:0;z-index:100;background:var(--accent-primary);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.reorder-mode-content{display:flex;align-items:center;gap:12px;font-weight:500}.product-grid.reorder-mode .product-card:not(.empty-slot){cursor:move;border:2px dashed var(--accent-secondary)}.product-card.dragging{opacity:.5;transform:scale(.95)}.drag-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-card);border-radius:50%;padding:12px;box-shadow:var(--shadow-sm);color:var(--accent-primary);z-index:5;cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.dragging-overlay{box-shadow:var(--shadow-lg)!important;transform:rotate(3deg);border:3px solid var(--accent-primary)!important;z-index:1000}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px;background-color:var(--bg-card);border-top:1px solid var(--border-color);min-height:60px}.pagination-dot{width:10px;height:10px;border-radius:50%;background-color:var(--border-color);border:none;cursor:pointer;padding:0;transition:all .2s}.pagination-dot:hover{background-color:var(--text-tertiary)}.pagination-dot.active{background-color:var(--accent-primary);transform:scale(1.2)}.pagination-add-btn{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.pagination-add-btn:hover{background-color:var(--bg-hover)}.pending-orders-panel{background:var(--bg-card);border-left:1px solid var(--border-color);display:flex;flex-direction:column;max-height:100%;width:240px;color:var(--text-primary)}.pending-orders-header{padding:16px;border-bottom:2px solid var(--accent-primary);background:var(--bg-secondary)}.pending-orders-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.pending-count{background:var(--accent-primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:14px}.pending-orders-list{flex:1;overflow-y:auto;padding:8px}.pending-order-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:8px;overflow:hidden;transition:all .2s;box-shadow:var(--shadow-sm)}.pending-order-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.pending-order-card.expanded{border-color:var(--accent-primary)}.pending-order-header{padding:12px;cursor:pointer;background:var(--bg-hover)}.pending-order-customer{display:flex;align-items:center;gap:8px;margin-bottom:6px}.customer-name{font-weight:600;font-size:15px;color:var(--text-primary)}.pending-order-time{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-tertiary)}.pending-order-summary{padding:8px 12px;display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.summary-total{font-size:18px;font-weight:700;color:var(--accent-primary)}.summary-items{font-size:13px;color:var(--text-tertiary)}.pending-order-details{padding:12px;border-top:1px solid var(--border-color);background:var(--bg-card)}.pending-order-items{margin-bottom:12px}.pending-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;color:var(--text-primary)}.item-quantity{font-weight:600;color:var(--accent-primary);min-width:30px}.item-name{flex:1;color:var(--text-primary)}.item-price{font-weight:500;color:var(--text-tertiary)}.pending-order-total{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:2px solid var(--border-color);border-bottom:2px solid var(--border-color);margin-bottom:12px}.total-amount{font-size:20px;font-weight:700;color:var(--accent-primary)}.pending-order-actions{display:flex;gap:8px}.btn-load{flex:1;padding:10px;font-size:14px}.btn-delete{padding:10px 12px;background:#f44336;border:none;color:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-delete:hover{background:#d32f2f}.pending-item.completed .item-name{text-decoration:line-through;opacity:.6;color:var(--text-tertiary)}.pending-item.completed .item-quantity,.pending-item.completed .item-price{opacity:.6}.pending-item .check-icon{color:#4caf50;margin-left:auto}.pending-order-card.kds-completed{border-left:4px solid #4caf50;border-color:#4caf50;background:var(--bg-card)}.pending-order-card.kds-completed .pending-order-header{background:#4caf501a}.kds-status-badge{background:#4caf50;color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;margin-left:auto}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);text-align:center;padding:24px}.cart-empty-hint{font-size:12px;margin-top:8px}.cart-items{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.cart-item{background-color:var(--bg-hover);border-radius:4px;padding:12px;display:flex;flex-direction:column;gap:8px}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start}.cart-item-name{font-weight:500;font-size:12px;color:var(--text-primary);flex:1}.cart-item-delete{color:#d32f2f;padding:4px}.cart-item-footer{display:flex;justify-content:space-between;align-items:center}.quantity-controls{display:flex;align-items:center;gap:8px;background-color:var(--bg-card);border-radius:4px;padding:4px;border:1px solid var(--border-color)}.quantity-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);border-radius:2px;transition:background-color .2s}.quantity-btn:hover{background-color:var(--bg-hover)}.quantity-display{min-width:24px;text-align:center;font-weight:500;font-size:12px;color:var(--text-primary)}.cart-item-price{font-weight:700;font-size:12px;color:var(--text-primary)}.cart-mobile-compact{display:flex;flex-direction:column;height:100%}.cart-compact-list{flex:1;overflow-x:auto;overflow-y:hidden;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:0;align-content:start}.cart-compact-list.big{grid-template-columns:1fr}.cart-compact-list.big .cart-compact-item{padding:10px 12px}.cart-compact-list.big .cart-compact-qty,.cart-compact-list.big .cart-compact-name,.cart-compact-list.big .cart-compact-price{font-size:12px}.cart-compact-list.med{grid-template-columns:1fr}.cart-compact-list.med .cart-compact-item{padding:8px 10px}.cart-compact-list.med .cart-compact-name,.cart-compact-list.med .cart-compact-price{font-size:13px}.cart-compact-list.small{grid-template-columns:1fr 1fr}.cart-compact-list.small .cart-compact-item{padding:3px 6px}.cart-compact-list.small .cart-compact-qty{font-size:10px;min-width:18px}.cart-compact-list.small .cart-compact-name,.cart-compact-list.small .cart-compact-price{font-size:10px}.cart-compact-list.small+.cart-compact-controls{padding:4px 8px}.cart-compact-list.small+.cart-compact-controls .cart-compact-btn{width:28px;height:28px}.cart-compact-item{display:flex;align-items:center;padding:4px 10px;min-height:30px;border-bottom:1px solid #f0f0f0;cursor:pointer;gap:6px;transition:background .15s}.cart-compact-item.selected{background:#e8f5e9;border-left:3px solid #558b2f}.cart-compact-qty{font-size:12px;font-weight:700;color:#558b2f;min-width:28px}.cart-compact-name{flex:1;font-size:12px;font-weight:500;color:#333;white-space:nowrap}.cart-compact-price{font-size:12px;font-weight:700;color:#333;margin-left:auto;text-align:right}.cart-compact-controls{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f5f5f5;border-top:1px solid #e0e0e0}.cart-compact-btn{width:32px;height:32px;border-radius:6px;border:1px solid #ccc;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#558b2f}.cart-compact-btn.delete{color:#d32f2f;border-color:#fca5a5}.cart-compact-count{font-size:12px;font-weight:700;min-width:20px;text-align:center}.cart-compact-selected-name{flex:1;font-size:11px;color:#999;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:24px}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;gap:12px}.payment-total{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:#f5f5f5;border-radius:8px;margin-bottom:24px}.payment-total-amount{font-size:32px;font-weight:700;color:var(--primary-color)}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.payment-method-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500}.payment-method-btn:hover{border-color:var(--primary-light);background-color:#558b2f0d}.payment-method-btn.active{border-color:var(--primary-color);background-color:#558b2f1a;color:var(--primary-color)}.cash-input-section{display:flex;flex-direction:column;gap:12px}.cash-input-section label{font-weight:500;color:#757575}.cash-input{padding:16px;font-size:24px;border:2px solid #e0e0e0;border-radius:8px;text-align:right;font-weight:700}.cash-input:focus{outline:none;border-color:var(--primary-color)}.change-display{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:#e8f5e9;border-radius:8px}.change-amount{font-size:24px;font-weight:700;color:var(--success)}.receipt-modal{width:100%;max-width:400px;background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:90vh}.success-icon{display:flex;align-items:center;justify-content:center}.receipt-title{text-align:center;color:var(--success);margin-bottom:24px}.receipt-paper{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:24px;font-family:Courier New,monospace}.receipt-header{text-align:center;border-bottom:2px dashed #e0e0e0;padding-bottom:16px;margin-bottom:16px}.receipt-logo-container{margin-bottom:12px;text-align:center}.receipt-logo{max-width:120px;max-height:80px;object-fit:contain}.receipt-header h3{margin:0 0 8px;font-size:18px}.receipt-header p{margin:4px 0;font-size:12px;color:#757575}.receipt-items{border-bottom:2px dashed #e0e0e0;padding-bottom:16px;margin-bottom:16px}.receipt-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.receipt-item-info{display:flex;gap:8px}.receipt-item-qty{color:#757575}.receipt-item-price{font-weight:700}.receipt-totals{font-size:14px}.receipt-row{display:flex;justify-content:space-between;margin-bottom:8px}.receipt-total{font-size:18px;font-weight:700;padding-top:8px;border-top:2px solid #212121;margin-top:8px}.receipt-payment{margin-top:16px;padding-top:16px;border-top:2px dashed #e0e0e0}.payment-method-badge{background-color:var(--primary-color);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}.receipt-footer{text-align:center;margin-top:16px;padding-top:16px;border-top:2px dashed #e0e0e0;font-size:12px;color:#757575}.receipt-footer p{margin:0}.receipt-socials{margin-top:12px;padding-top:8px;border-top:1px dashed #e0e0e0;font-size:.9em}.social-item{display:flex;align-items:center;justify-content:center;margin-bottom:4px}.receipt-qr-container{margin-top:16px;text-align:center}.receipt-qr{width:100px;height:100px;object-fit:contain}.customer-modal{width:400px;max-width:90vw;display:flex;flex-direction:column;max-height:80vh}.customer-search-bar{position:relative;padding:16px;border-bottom:1px solid #e0e0e0}.customer-search-bar input{width:100%;padding:10px 10px 10px 36px;border:1px solid #e0e0e0;border-radius:4px;font-size:16px}.customer-search-bar .search-icon{position:absolute;left:24px;top:50%;transform:translateY(-50%);color:#757575}.customer-list-mini{flex:1;overflow-y:auto;padding:8px 0}.customer-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s}.customer-item:hover{background-color:#f5f5f5}.customer-item.add-new{color:var(--primary-color);font-weight:500}.avatar-placeholder{width:40px;height:40px;border-radius:50%;background-color:#e0e0e0;color:#757575;display:flex;align-items:center;justify-content:center;margin-right:12px;font-weight:700}.avatar-placeholder.add{background-color:#4caf501a;color:var(--primary-color)}.customer-details{display:flex;flex-direction:column}.customer-details .name{font-weight:500;color:#212121}.customer-details .meta{font-size:12px;color:#757575}.customer-form-mini{padding:16px}.toast{position:fixed;top:80px;right:20px;min-width:300px;max-width:500px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;z-index:10000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left:4px solid #4caf50}.toast-success .toast-icon{color:#4caf50}.toast-error{border-left:4px solid #f44336}.toast-error .toast-icon{color:#f44336}.toast-info{border-left:4px solid #2196f3}.toast-info .toast-icon{color:#2196f3}.toast-message{flex:1;font-size:14px;color:#212121}.toast-close{background:none;border:none;cursor:pointer;padding:4px;color:#757575;display:flex;align-items:center;justify-content:center;transition:color .2s}.toast-close:hover{color:#212121}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:40px;width:100%;max-width:400px;margin:20px}.login-header{text-align:center;margin-bottom:32px}.login-logo{font-size:28px;font-weight:700;color:#558b2f;margin-bottom:8px}.login-subtitle{font-size:14px;color:#757575}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;font-weight:600;color:#424242}.login-field input{padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:15px;outline:none;transition:border-color .2s}.login-field input:focus{border-color:#558b2f;box-shadow:0 0 0 3px #558b2f1f}.login-submit{margin-top:8px;padding:14px;background-color:#558b2f;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.login-submit:hover{background-color:#4a7c28}.login-submit:disabled{background-color:#a5d6a7;cursor:not-allowed}.login-error{background-color:#fbe9e7;color:#c62828;padding:10px 14px;border-radius:8px;font-size:13px;text-align:center}.login-toggle{text-align:center;margin-top:16px;font-size:13px;color:#757575}.login-toggle button{background:none;border:none;color:#558b2f;font-weight:600;cursor:pointer;font-size:13px;padding:0;margin-left:4px}.login-toggle button:hover{text-decoration:underline}.login-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.login-divider span{font-size:12px;color:#999;text-transform:uppercase}.login-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#424242;cursor:pointer;transition:background-color .2s,box-shadow .2s}.login-google:hover{background:#f5f5f5;box-shadow:0 1px 4px #0000001a}.pin-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.pin-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:40px;width:100%;max-width:340px;margin:20px;text-align:center}.pin-logo{font-size:28px;font-weight:700;color:#558b2f;margin-bottom:4px}.pin-store{font-size:14px;color:#757575;margin-bottom:24px}.pin-label{font-size:15px;font-weight:600;color:#424242;margin-bottom:20px}.pin-dots{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.pin-dot{width:52px;height:60px;border:2px solid #e0e0e0;border-radius:10px;text-align:center;font-size:24px;font-weight:700;outline:none;transition:border-color .2s;-webkit-text-security:disc}.pin-dot:focus{border-color:#558b2f;box-shadow:0 0 0 3px #558b2f1f}.pin-dot.filled{border-color:#558b2f;background:#f1f8e9}.pin-dot.shake{animation:shake .4s ease;border-color:#d32f2f}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.pin-error{color:#d32f2f;font-size:13px;font-weight:500;margin-bottom:12px}.pin-switch{background:none;border:none;color:#558b2f;font-size:13px;font-weight:600;cursor:pointer;padding:8px;margin-top:4px}.pin-switch:hover{text-decoration:underline}:root{--primary-color: #558b2f;--primary-dark: #33691e;--primary-light: #85bb5c;--secondary-color: #f5f5f5;--text-color: #212121;--text-secondary: #757575;--border-color: #e0e0e0;--white: #ffffff;--danger: #d32f2f;--success: #388e3c;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--font-family: "Roboto", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}*:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}body{font-family:var(--font-family);background-color:var(--secondary-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;overflow:hidden}#root{height:100%;display:flex;flex-direction:column}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.p-md{padding:var(--spacing-md)}.m-md{margin:var(--spacing-md)}.text-center{text-align:center}.font-bold{font-weight:700}.btn{padding:10px 16px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:background-color .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--primary-dark)}.btn-primary:disabled{background-color:#bdbdbd;cursor:not-allowed}.btn-icon{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-full)}.btn-icon:hover{background-color:#0000000d}.card{background-color:var(--white);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9e9e9e}.mobile-mini-cart,.cart-footer-mobile{display:none}.cart-footer-mobile-row{display:flex;align-items:center;padding:6px 10px;gap:8px}.cart-footer-left{display:flex;align-items:center;gap:6px}.cart-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.cart-mobile-kds-btn{padding:6px 10px!important;font-size:11px!important;height:32px!important;display:flex;align-items:center;gap:4px;min-height:0!important}.cart-mobile-return-btn{width:32px;height:32px;border-radius:6px;border:2px solid #f57c00;background:#fff3e0;color:#e65100;display:flex;align-items:center;justify-content:center;cursor:pointer}.cart-mobile-total{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.cart-mobile-pay-btn{padding:6px 14px!important;font-size:13px!important;height:36px!important;min-height:0!important;font-weight:700}.cart-mobile-pending-list{display:grid;grid-auto-flow:column;gap:3px;overflow:hidden}.cart-mobile-pending-list.big{grid-template-columns:1fr}.cart-mobile-pending-list.big .cart-mobile-pending-item{flex-wrap:wrap;padding:8px 10px}.cart-mobile-pending-list.big .cmp-name{font-size:14px;max-width:none}.cart-mobile-pending-list.big .cmp-total{font-size:14px;font-weight:700;color:#558b2f}.cart-mobile-pending-list.big .cmp-items{width:100%;display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.cart-mobile-pending-list.big .cmp-items span{font-size:10px;color:#666;background:#f0f0f0;padding:1px 6px;border-radius:4px}.cart-mobile-pending-list.med{grid-template-columns:1fr}.cart-mobile-pending-list.med .cmp-name{font-size:12px;max-width:none}.cart-mobile-pending-list.small{grid-template-columns:1fr 1fr 1fr}.cart-mobile-pending-list.small .cmp-name{font-size:10px;max-width:60px}.cart-mobile-pending-list.small .cart-mobile-pending-item{padding:3px 6px}.cart-mobile-pending-list.small .cmp-time{font-size:9px}.cart-mobile-pending-list.small .cmp-ready{font-size:8px;padding:0 4px}.cart-mobile-pending-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#f0fdf4;border:1px solid #c8e6c9;border-radius:6px;cursor:pointer;gap:6px}.cart-mobile-pending-item:active{background:#c8e6c9}.cmp-name{font-size:11px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.cmp-total,.cmp-time{font-size:10px;font-weight:600;color:#999}.cart-mobile-pending-item.ready{background:#e8f5e9;border-color:#4caf50}.cmp-ready{font-size:9px;font-weight:700;color:#fff;background:#4caf50;padding:1px 5px;border-radius:4px}.cmp-more{font-size:10px;color:#999;text-align:center}.pending-fab{display:none;position:fixed;bottom:140px;left:16px;width:52px;height:52px;border-radius:50%;color:#fff;border:none;cursor:pointer;z-index:850;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;transition:background-color .3s}.pending-fab-badge{position:absolute;top:-4px;right:-4px;background-color:#fff;color:#333;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 1px 3px #0003}@keyframes fabPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pending-desktop{display:contents}.cart-fab{display:none;position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background-color:var(--primary-color, #558b2f);color:#fff;border:none;cursor:pointer;z-index:850;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;transition:transform .2s,box-shadow .2s}.cart-fab:active{transform:scale(.95)}.cart-fab-badge{position:absolute;top:-4px;right:-4px;background-color:#d32f2f;color:#fff;font-size:12px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 4px}.cart-mobile-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:950;animation:fadeInOverlay .2s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.cart-mobile-panel{position:absolute;bottom:0;left:0;right:0;height:80vh;background-color:#fff;border-radius:16px 16px 0 0;display:flex;flex-direction:column;animation:slideUpPanel .3s ease;overflow:hidden}@keyframes slideUpPanel{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cart-mobile-handle{display:flex;align-items:center;justify-content:center;padding:8px 16px;position:relative;border-bottom:1px solid #e0e0e0;flex-shrink:0}.cart-mobile-handle:before{content:"";width:40px;height:4px;background-color:#ccc;border-radius:2px}.cart-mobile-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:8px;color:#757575;display:flex;align-items:center;justify-content:center;border-radius:50%;min-height:44px;min-width:44px}.cart-mobile-close:hover{background-color:#f5f5f5}.cart-mobile-panel>div:last-child{flex:1;overflow:hidden;display:flex;flex-direction:column;width:100%!important}@media(max-width:1366px){.app-layout>main{padding-bottom:72px!important}.cart-sidebar-desktop>div{width:280px!important;min-width:240px!important}.pending-orders-panel{width:220px!important}.product-grid{grid-template-columns:repeat(4,1fr)!important}}@media(max-width:768px){body{overflow:auto}#root{height:auto;min-height:100vh}.app-layout{flex-direction:column!important;height:auto!important;min-height:100vh}.app-layout>main{height:auto!important;min-height:calc(100vh - 72px)}.sidebar{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:64px!important;flex-direction:row!important;z-index:900!important;border-right:none!important;border-top:1px solid var(--border-color)!important;box-shadow:0 -2px 8px #0000001a}.sidebar:hover{width:100%!important}.sidebar-header{display:none!important}.sidebar-footer{display:flex!important;padding:0!important;border:none!important}.sidebar-footer .nav-item{flex-direction:column!important;padding:8px 4px!important;gap:2px;min-width:56px;font-size:10px!important}.sidebar-footer .nav-label{font-size:10px!important;margin:0!important;opacity:1!important}.sidebar-nav{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-around;padding:0;width:100%;overflow-x:auto;overflow-y:hidden}.nav-item{flex-direction:column;padding:8px 4px;gap:2px;border-left:none!important;border-bottom:2px solid transparent;min-width:56px;justify-content:center;align-items:center;font-size:10px}.nav-item.active{border-left:none!important;border-bottom:2px solid var(--accent-primary)}.nav-label{margin-left:0;opacity:1;font-size:10px;line-height:1}.sidebar:hover .nav-label{opacity:1}.pos-layout{flex-direction:column;height:auto;min-height:calc(100vh - 72px);border-right:none!important}.pos-layout>.pos-left{border-right:none!important;flex:1}.cart-sidebar-desktop,.pending-desktop{display:none!important}.cart-mobile-overlay{display:block!important}.cart-mobile-panel>div:last-child>div{width:100%!important}.pos-layout{display:flex!important;flex-direction:column!important;height:calc(100vh - 64px)!important;overflow:hidden!important}.pos-layout>.pos-left{flex:2!important;overflow:auto!important;min-height:0}.mobile-mini-cart{display:flex!important;flex-direction:column;max-height:60vh;overflow:hidden;border-top:2px solid #e0e0e0;background:#fff;flex-shrink:0}.mobile-mini-cart,.mobile-mini-cart>*,.mobile-mini-cart>*>*{width:100%!important;min-width:0!important;max-width:100%!important}.mobile-mini-cart>*>*{display:flex!important;flex-direction:column!important;height:100%!important}.mobile-mini-cart .p-md.flex-1{flex:1 1 auto!important;overflow-y:auto!important;min-height:140px!important;max-height:none!important}.mobile-mini-cart .cart-item{color:#333!important;background:#f5f5f5!important}.mobile-mini-cart .cart-item-name{color:#333!important}.mobile-mini-cart .cart-item{padding:6px 10px;gap:4px}.mobile-mini-cart .cart-item-name{font-size:12px}.mobile-mini-cart .quantity-btn{padding:2px}.mobile-mini-cart .quantity-btn svg{width:12px;height:12px}.mobile-mini-cart .quantity-display{min-width:18px;font-size:12px}.mobile-mini-cart .quantity-controls{gap:4px;padding:2px}.mobile-mini-cart .cart-item-price{font-size:13px}.mobile-mini-cart .cart-item-delete svg{width:14px;height:14px}.mobile-mini-cart .cart-items{gap:4px}.mobile-mini-cart .p-md{padding:6px 10px!important}.mobile-mini-cart .cart-header-section{height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;border:none!important}.pending-fab,.pagination-controls,.cart-footer-desktop{display:none!important}.cart-footer-mobile{display:block!important}.pending-fab{display:flex!important}.product-grid{grid-template-columns:repeat(4,1fr)!important;grid-template-rows:auto!important;gap:4px;padding:4px!important;padding:8px}.product-name{font-size:13px;-webkit-line-clamp:3!important}.product-menu-btn{opacity:1;padding:6px}.category-tabs{padding:0 8px;gap:4px}.category-tab{padding:10px 8px;font-size:13px;min-height:44px}.pending-orders-panel{position:fixed;bottom:64px;left:0;right:0;width:100%;max-height:50vh;z-index:800;border-left:none;border-top:1px solid var(--border-color);box-shadow:0 -4px 12px #0000001a}.kds-page{padding:12px 12px 80px}.kds-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.kds-header h1{font-size:20px}.kds-grid{grid-template-columns:1fr;gap:12px}.order-count{font-size:13px}.settings-page{padding:12px 12px 80px}.settings-page h1{font-size:1.5rem;margin-bottom:16px}.settings-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;margin-bottom:16px}.settings-tabs::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;padding:10px 16px;font-size:14px;min-height:44px}.settings-section{padding:16px}.settings-actions{position:fixed;bottom:72px;left:12px;right:12px}.modal-content{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;margin:0}.modal-overlay{align-items:stretch}.receipt-modal{max-width:100%;border-radius:0;max-height:100%}.customer-modal{width:100%;max-width:100%;max-height:100%}.payment-methods{grid-template-columns:repeat(2,1fr)}.payment-total-amount{font-size:24px}.cash-input{font-size:20px}.login-card,.pin-card{padding:24px;margin:12px}.pin-dot{width:48px;height:52px;font-size:20px}.btn,.btn-primary,.btn-secondary,.btn-icon,.btn-complete,.btn-load,.btn-delete,.quantity-btn,.kds-item,.customer-item{min-height:44px}.quantity-btn{padding:8px}.inventory-header{flex-wrap:wrap;gap:8px;padding:8px 12px!important}.inventory-header h2{font-size:16px!important}.inventory-header .btn{padding:6px 10px!important;font-size:12px!important}.inventory-header .btn-secondary span{display:none}.items-page{padding:12px 12px 80px}.items-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.items-header h1{font-size:24px}.items-grid{grid-template-columns:repeat(2,1fr);gap:8px}.item-info h3{font-size:15px}.item-price{font-size:16px}.item-form{padding:16px}.customers-page{padding:12px 12px 80px}.customers-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.customers-header h1{font-size:24px}.customers-list{grid-template-columns:1fr;gap:8px}.customer-form{padding:16px}.receipts-page{padding:12px 12px 80px}.receipts-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.receipts-header h1{font-size:24px}.receipts-stats{flex-wrap:wrap;gap:8px;width:100%}.stat-card{flex:1;min-width:120px;padding:10px 12px}.receipts-table-header .col-customer,.receipt-row .col-customer,.receipts-table-header .col-payment,.receipt-row .col-payment{display:none}.receipt-row{padding:12px}.col-id,.col-date{font-size:13px}.reorder-mode-banner{padding:8px 12px;font-size:14px}.pagination-controls{padding:8px;min-height:48px}}@media(max-width:380px){.product-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px;padding:6px}.product-image-placeholder,.product-image{height:60px}.pin-dots{gap:8px}.pin-dot{width:44px;height:48px}}
