.product-card{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;height:100%}.product-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.product-image{width:100%;height:200px;overflow:hidden;background:#f8f9fa}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card:hover .product-image img{transform:scale(1.05)}.product-info{padding:20px;flex-grow:1;display:flex;flex-direction:column;gap:12px}.product-category{font-size:.8rem;color:#666;background:#f8f9fa;padding:4px 8px;border-radius:4px;align-self:flex-start}.product-name{font-size:1.1rem;font-weight:600;color:#333;line-height:1.4;margin:0}.product-description{font-size:.9rem;color:#666;line-height:1.4;flex-grow:1;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-size:1.3rem;font-weight:700;color:#1976d2}.product-stock{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.stock-label{color:#666}.stock-value{font-weight:600;color:#2e7d32}.stock-value.low-stock{color:#d32f2f}.add-to-cart-btn{background:#1976d2;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-top:auto}.add-to-cart-btn:hover:not(:disabled){background:#1565c0}.add-to-cart-btn:disabled{background:#ccc;cursor:not-allowed;color:#666}.add-to-cart-btn:active:not(:disabled){transform:translateY(1px)}.category-menu{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;height:fit-content}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.menu-header h3{margin:0;color:#333;font-size:1.2rem}.clear-filter{background:#ff4757;color:#fff;border:none;padding:5px 10px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background-color .2s ease}.clear-filter:hover{background:#ff3742}.categories-list{max-height:70vh;overflow-y:auto}.category-item{margin-bottom:2px}.category-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;cursor:pointer;border-radius:6px;transition:all .2s ease;border:1px solid transparent}.category-header:hover{background:#f8f9fa;border-color:#e9ecef}.category-header.selected{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.category-name{font-weight:500;font-size:.95rem;flex:1}.expand-icon{font-size:.7rem;transition:transform .2s ease;color:#666;margin-left:10px}.expand-icon.expanded{transform:rotate(90deg)}.category-children{margin-top:2px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.categories-list::-webkit-scrollbar{width:6px}.categories-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.categories-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.categories-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.category-menu{padding:15px}.categories-list{max-height:400px}.menu-header h3{font-size:1.1rem}}.app-header{position:fixed;top:0;left:0;right:0;background:white;box-shadow:0 2px 10px #0000001a;z-index:1000;height:70px}.header-container{max-width:1200px;margin:0 auto;padding:0 20px;height:100%;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem;font-weight:700;color:#1976d2}.logo-link{text-decoration:none;color:inherit;transition:color .2s ease}.logo-link:hover{color:#1565c0}.header-nav{display:flex;align-items:center;gap:30px}.nav-link{text-decoration:none;color:#333;font-size:1rem;font-weight:500;transition:color .2s ease;display:flex;align-items:center;gap:8px}.nav-link:hover{color:#1976d2}.cart-link{position:relative;padding:8px 12px;border-radius:8px;background:#f8f9fa}.cart-link:hover{background:#e9ecef}.cart-icon-container{position:relative;display:flex;align-items:center}.cart-icon{width:24px;height:24px}.cart-badge{position:absolute;top:-8px;right:-8px;background:#ff4757;color:#fff;font-size:.7rem;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.cart-text{font-size:.9rem}@media (max-width: 768px){.app-header{height:60px}.logo{font-size:1.5rem}.cart-text{display:none}.header-nav{gap:15px}}.cart-page{padding-top:90px;min-height:calc(100vh - 90px);background:#f8f9fa}.cart-container{max-width:1200px;margin:0 auto;padding:20px}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #1976d2}.cart-header h1{margin:0;color:#333;font-size:2rem}.clear-cart-btn{background:#ff4757;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.clear-cart-btn:hover{background:#ff3742}.empty-cart{text-align:center;padding:60px 20px;background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-cart-icon{font-size:4rem;margin-bottom:20px}.empty-cart h2{color:#333;margin-bottom:10px}.empty-cart p{color:#666;margin-bottom:30px}.continue-shopping-btn{display:inline-block;background:#1976d2;color:#fff;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:600;transition:background-color .2s ease}.continue-shopping-btn:hover{background:#1565c0}.cart-items{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.cart-item{display:grid;grid-template-columns:100px 2fr 150px 120px 40px;gap:20px;align-items:center;padding:20px;border-bottom:1px solid #eee}.cart-item:last-child{border-bottom:none}.cart-item-image{width:100px;height:100px;overflow:hidden;border-radius:8px}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-info{display:flex;flex-direction:column;gap:8px}.cart-item-name{margin:0;font-size:1.1rem;color:#333}.cart-item-category{font-size:.8rem;color:#666;background:#f8f9fa;padding:4px 8px;border-radius:4px;align-self:flex-start}.cart-item-price{font-size:1rem;color:#1976d2;font-weight:600}.cart-item-quantity{display:flex;align-items:center;gap:10px}.quantity-btn{width:32px;height:32px;border:1px solid #ddd;background:white;border-radius:4px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.quantity-btn:hover{background:#f8f9fa;border-color:#1976d2}.quantity-value{min-width:30px;text-align:center;font-weight:600}.cart-item-total{font-size:1.2rem;font-weight:700;color:#333;text-align:right}.remove-item-btn{width:32px;height:32px;border:none;background:#ff4757;color:#fff;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.remove-item-btn:hover{background:#ff3742}.cart-summary{background:white;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;font-size:1.3rem;font-weight:600;color:#333}.total-price{font-size:1.8rem;color:#1976d2}.checkout-btn{width:100%;background:#2e7d32;color:#fff;border:none;padding:16px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-bottom:15px;transition:background-color .2s ease}.checkout-btn:hover{background:#1b5e20}.continue-shopping-link{display:block;text-align:center;color:#1976d2;text-decoration:none;font-size:.95rem;transition:color .2s ease}.continue-shopping-link:hover{color:#1565c0;text-decoration:underline}@media (max-width: 768px){.cart-page{padding-top:80px}.cart-item{grid-template-columns:80px 1fr;grid-template-rows:auto auto auto;gap:10px}.cart-item-image{width:80px;height:80px}.cart-item-quantity,.cart-item-total{grid-column:2}.remove-item-btn{grid-column:1;grid-row:3;justify-self:start}.cart-header{flex-direction:column;gap:10px;align-items:flex-start}}.app{min-height:100vh;background:#f8f9fa}.app-layout{display:flex;gap:30px;max-width:1400px;margin:90px auto 0;padding:20px;min-height:calc(100vh - 90px);align-items:flex-start}.sidebar-left{width:280px;flex-shrink:0;position:sticky;top:110px}.main-content{flex:1;min-width:0}.loading,.error,.no-products{text-align:center;font-size:1.2rem;padding:50px;color:#666}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.error{color:#d32f2f;background:#ffebee;border-radius:8px;border:1px solid #ffcdd2;display:flex;flex-direction:column;align-items:center;gap:15px;max-width:600px;margin:40px auto}.no-products{background:#f8f9fa;border-radius:8px;border:1px dashed #ddd;max-width:600px;margin:40px auto}.retry-btn{background:#1976d2;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease;margin-top:10px}.retry-btn:hover{background:#1565c0}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}.page-container{padding-top:90px;min-height:calc(100vh - 90px)}@media (max-width: 1024px){.app-layout{gap:20px;max-width:1200px}.sidebar-left{width:250px}}@media (max-width: 768px){.app-layout{flex-direction:column;gap:20px;margin-top:80px;padding:15px;min-height:calc(100vh - 80px)}.sidebar-left{width:100%;position:static}.page-container{padding-top:80px;min-height:calc(100vh - 80px)}}@media (max-width: 480px){.app-layout{padding:10px}.loading,.error,.no-products{padding:30px 15px;font-size:1rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}::selection{background:rgba(25,118,210,.2);color:#1976d2}*{box-sizing:border-box}body{margin:0;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;color:#333}.text-center{text-align:center}.text-error{color:#d32f2f}.text-success{color:#2e7d32}.text-muted{color:#666}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.p-20{padding:20px}
