:root{--primary:#2563eb;--primary-hover:#1d4ed8;--bg-dark:#0f172a;--bg-sidebar:#1e293b;--bg-content:#f8fafc;--text-main:#1e293b;--text-muted:#64748b;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--border:#e2e8f0;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.login-container{background-color:var(--bg-dark);background-image:radial-gradient(circle at top right, #1e3a8a, var(--bg-dark));justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.login-card{background-color:var(--white);border-radius:32px;flex-direction:column;gap:32px;width:100%;max-width:440px;padding:48px;display:flex;box-shadow:0 25px 50px -12px #00000080}.login-header{text-align:center}.login-logo{background-color:var(--primary);border-radius:24px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;display:flex;box-shadow:0 10px 15px -3px #2563eb4d}.login-header h1{color:var(--bg-dark);letter-spacing:-.025em;margin:0;font-size:32px;font-weight:800}.login-header p{color:var(--text-muted);margin:8px 0 0;font-weight:500}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-left:4px;font-size:12px;font-weight:700}.form-group input{background-color:var(--gray-50);border:1px solid var(--border);color:var(--bg-dark);border-radius:16px;outline:none;padding:16px;font-size:16px;font-weight:500;transition:all .2s}.form-group input:focus{border-color:var(--primary);background-color:var(--white);box-shadow:0 0 0 4px #2563eb1a}.login-button{background-color:var(--primary);color:var(--white);cursor:pointer;border:none;border-radius:16px;margin-top:8px;padding:20px;font-size:18px;font-weight:700;transition:all .2s;box-shadow:0 10px 15px -3px #2563eb33}.login-button:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.login-button:active{transform:scale(.98)}.error-message{color:#ef4444;text-align:center;background-color:#fef2f2;border:1px solid #fee2e2;border-radius:12px;padding:12px;font-size:14px;font-weight:600}.app-container{width:100vw;height:100vh;display:flex}.view-container{width:100%;max-width:1200px;margin:0 auto;padding:32px}.view-header{margin-bottom:32px}.view-header h2{color:var(--slate-900);margin-bottom:8px;font-size:28px;font-weight:800}.view-header p{color:var(--slate-500)}.pos-table{border-collapse:separate;border-spacing:0;border:1px solid var(--slate-200);background:#fff;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.pos-table th{background:var(--slate-50);text-align:left;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--slate-200);padding:16px 24px;font-size:13px;font-weight:600}.pos-table td{color:var(--slate-700);border-bottom:1px solid var(--slate-100);padding:16px 24px;font-size:15px}.pos-table tr:last-child td{border-bottom:none}.pos-table tr:hover td{background:var(--slate-50)}.status-pill{background:var(--blue-100);color:var(--blue-700);border-radius:9999px;padding:4px 12px;font-size:12px;font-weight:600}.cart-badge-container{color:var(--slate-600);align-items:center;gap:10px;min-width:100px;font-size:15px;font-weight:700;display:flex}.cart-badge-large{background:var(--blue-100);color:var(--blue-700);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:13px}.customer-selection{background-color:var(--gray-50);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.customer-select{color:var(--bg-dark);background:0 0;border:none;outline:none;flex:1;font-size:14px;font-weight:600}.add-cust-btn{background-color:var(--primary);width:32px;height:32px;color:var(--white);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.add-cust-btn:hover{background-color:var(--primary-hover);transform:scale(1.05)}.order-title{justify-content:space-between;align-items:center;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.btn-primary{background-color:var(--primary);color:var(--white);cursor:pointer;border:none;border-radius:12px;flex:1;padding:14px;font-weight:700}.btn-secondary{background-color:var(--gray-100);color:var(--bg-dark);cursor:pointer;border:none;border-radius:12px;flex:1;padding:14px;font-weight:700}.sidebar{background-color:var(--bg-sidebar);flex-direction:column;flex-shrink:0;align-items:center;gap:24px;width:84px;padding:24px 0;display:flex}.main-content{background-color:var(--bg-content);flex-direction:column;flex:1;display:flex;overflow-y:auto}.checkout-panel{background-color:var(--white);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:420px;display:flex}.sidebar-logo{background-color:#ffffff1a;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:12px;display:flex}.nav-item{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:16px;outline:none;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s;display:flex}.nav-item:hover{color:var(--white);background-color:#ffffff0d}.nav-item.active{background-color:var(--primary);color:var(--white);box-shadow:0 8px 16px #2563eb4d}.nav-item.logout{color:#f87171;margin-top:auto}.nav-item.logout:hover{background-color:#f871711a}.header-bar{background-color:var(--white);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:96px;padding:0 40px;display:flex}.search-row{background-color:var(--white);border-bottom:1px solid var(--border);justify-content:flex-start;padding:16px 40px;display:flex}.search-wrapper{flex:1;max-width:800px;position:relative}.search-icon{color:var(--primary);position:absolute;top:50%;left:24px;transform:translateY(-50%)}.search-input{background-color:var(--gray-50);border:2px solid var(--border);border-radius:20px;outline:none;width:100%;height:72px;padding:0 24px 0 64px;font-size:22px;font-weight:700;transition:all .2s}.search-input:focus{border-color:var(--primary);background-color:var(--white);box-shadow:0 0 0 4px #2563eb1a}.header-actions{align-items:center;gap:24px;margin-left:32px;display:flex}.category-pills{gap:12px;display:flex}.category-pill{cursor:pointer;background-color:var(--gray-100);color:var(--text-muted);border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:700;transition:all .2s}.category-pill.active{background-color:var(--primary);color:var(--white)}.user-profile{border-left:1px solid var(--border);align-items:center;gap:16px;padding-left:24px;display:flex}.user-avatar{width:48px;height:48px;color:var(--primary);background-color:#dbeafe;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.user-info p{margin:0;line-height:1.2}.user-name{font-size:15px;font-weight:700}.user-role{color:var(--text-muted);font-size:12px;font-weight:600}.product-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:24px;display:grid;overflow-y:auto}.product-card{background-color:var(--white);border:1px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;gap:8px;padding:12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.product-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 20px -5px #0000000d}.product-image{aspect-ratio:1.2;background-color:var(--gray-50);border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.product-info h3{color:var(--bg-dark);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.product-sku{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:10px;font-weight:700}.product-footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.product-price{color:var(--primary);font-size:16px;font-weight:800}.add-button{width:32px;height:32px;color:var(--primary);background-color:#eff6ff;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.product-card:hover .add-button{background-color:var(--primary);color:var(--white)}.cart-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:32px;display:flex}.cart-header h2{align-items:center;gap:12px;margin:0;font-size:22px;font-weight:800;display:flex}.cart-badge{background-color:var(--primary);color:var(--white);border-radius:20px;padding:4px 10px;font-size:12px}.clear-cart{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px;transition:color .2s}.clear-cart:hover{color:#ef4444}.cart-items{flex-direction:column;flex:1;gap:20px;padding:32px;display:flex;overflow-y:auto}.cart-empty{height:100%;color:var(--gray-200);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.cart-item{align-items:center;gap:16px;display:flex}.item-icon{background-color:var(--gray-50);width:52px;height:52px;color:var(--text-muted);border-radius:14px;justify-content:center;align-items:center;display:flex}.item-info{flex:1}.item-info h4{color:var(--bg-dark);margin:0;font-size:15px;font-weight:700}.item-price{color:var(--primary);margin-top:2px;font-size:14px;font-weight:700}.quantity-controls{background-color:var(--gray-50);border:1px solid var(--border);border-radius:12px;align-items:center;padding:4px;display:flex}.qty-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.qty-btn:hover{background-color:var(--white);color:var(--primary)}.qty-val{text-align:center;width:36px;font-size:14px;font-weight:700}.checkout-footer{background-color:var(--gray-50);border-top:1px solid var(--border);flex-direction:column;gap:24px;padding:32px;display:flex}.summary-details{flex-direction:column;gap:12px;display:flex}.summary-row{color:var(--text-muted);justify-content:space-between;font-size:15px;font-weight:500;display:flex}.summary-total{color:var(--bg-dark);justify-content:space-between;margin-top:8px;font-size:26px;font-weight:900;display:flex}.summary-total .total-val{color:var(--primary)}.checkout-actions{flex-direction:column;gap:12px;display:flex}.btn-discount{background-color:var(--white);color:var(--primary);border:2px solid var(--primary);cursor:pointer;border-radius:16px;height:56px;font-size:16px;font-weight:700;transition:all .2s}.btn-pay{background-color:var(--primary);color:var(--white);cursor:pointer;border:none;border-radius:18px;height:64px;font-size:18px;font-weight:800;transition:all .2s;box-shadow:0 10px 20px -5px #2563eb66}.btn-pay:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 15px 30px -10px #2563eb80}.btn-pay:active{transform:translateY(0)}.scrollbar-hide::-webkit-scrollbar{display:none}.loading-overlay{height:400px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.spinner{border:4px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;margin-bottom:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--white);border-radius:24px;width:100%;max-width:500px;padding:40px;box-shadow:0 20px 40px #0003}.modal-header{margin-bottom:32px}.modal-header h3{color:var(--bg-dark);margin-bottom:8px;font-size:24px;font-weight:900}.modal-header p{color:var(--text-muted);font-size:15px}.modal-footer{gap:16px;margin-top:32px;display:flex}.form-group label{color:var(--text-muted);margin-bottom:10px;font-size:14px;font-weight:700;display:block}.form-group input{background-color:var(--gray-50);border:1px solid var(--border);border-radius:14px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:all .2s}.form-group input:focus{border-color:var(--primary);background-color:var(--white);outline:none;box-shadow:0 0 0 4px #2563eb1a}.inventory-card{background:var(--white);border-radius:24px;overflow:hidden;box-shadow:0 10px 30px #0000000d}.inventory-table th{background-color:var(--gray-50);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:16px 20px;font-size:13px}.stock-badge{color:#166534;background-color:#dcfce7;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700}.stock-badge.low{color:#991b1b;background-color:#fee2e2}.btn-small{background-color:var(--gray-100);cursor:pointer;border:none;border-radius:10px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .2s}.btn-small:hover{background-color:var(--primary);color:var(--white)}.grn-draft-card input,.grn-draft-card select{border:1px solid var(--border);border-radius:10px;padding:12px;font-weight:600}.vendor-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:24px;transition:all .2s}.vendor-card:hover{border-color:var(--primary);box-shadow:0 10px 25px #2563eb1a}.kpi-card{border-radius:24px;flex-direction:column;justify-content:center;padding:32px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.kpi-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a}.loading-screen{height:100vh;color:var(--primary);background:#f8fafc;justify-content:center;align-items:center;font-size:24px;font-weight:900;display:flex}.skeleton{pointer-events:none;background:#f1f5f9;border:none!important}.skeleton-image{background:#e2e8f0;border-radius:12px;height:120px;margin-bottom:12px}.skeleton-text{background:#e2e8f0;border-radius:4px;width:80%;height:16px;margin-bottom:8px}.skeleton-footer{background:#e2e8f0;border-radius:4px;width:40%;height:24px}.skeleton-image,.skeleton-text,.skeleton-footer{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}.btn-park{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;flex:1;padding:10px 16px;font-size:13px;font-weight:700;transition:all .2s}.btn-park.active{color:#ef4444;background:#fee2e2}.btn-park:hover{background:#e2e8f0}.checkout-modal{max-width:600px!important}.payment-row{background:#f8fafc;border-radius:12px;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.payment-row select,.payment-row input{border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-weight:600}.payment-row input{text-align:right;width:120px}.btn-add-payment{color:#64748b;cursor:pointer;background:0 0;border:2px dashed #cbd5e1;border-radius:12px;width:100%;margin-bottom:24px;padding:12px;font-weight:700}.btn-add-payment:hover{background:#f8fafc;border-color:#94a3b8}.remove-row{color:#ef4444;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;padding:8px}.coupon-section{border-top:1px solid #f1f5f9;margin-top:24px;padding-top:24px}.coupon-section label{color:#64748b;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700;display:block}.coupon-section input{border:1px solid #e2e8f0;border-radius:12px;flex:1;padding:12px;font-weight:600}.btn-refund-action{color:#ef4444;text-transform:uppercase;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .2s}.btn-refund-action:hover{background:#fecaca;transform:scale(1.05)}.btn-park{background-color:var(--gray-100);height:40px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.btn-park:hover{background-color:var(--gray-200);color:var(--bg-dark)}.btn-park.active{color:#92400e;background-color:#fef3c7;border-color:#fde68a}.btn-park.active:hover{background-color:#fde68a}.animate-spin{animation:1s linear infinite spin}
